X509EnpredKeySpec需要DER编码的数据,而不是PEM编码的数据。如果您仅丢弃“ BEGIN”和“
END”,并对公共密钥内容进行base64解码,则您的代码将正常工作。
final String key2 = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdQudusozLmogBfU2LCO+WcM59" + "ycup9SxMsBNCku23PxrPMO6u//QjtWPz7istE9vkQfa6tQn1Or+SDxeHLMxEesF0" + "xiBEgFUhg7vjOF2SnFQQEADgUyizUIBBn1UgKNA8eP24Ux0P0M2aHMn78HIHsRcu" + "pNGUNW7p51HOVoIPJQIDAQAB";PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic( new X509EnpredKeySpec(DatatypeConverter.parsebase64Binary(key2)));


