实现代码
/**
* getPlkformCer: 从CER文件中获取公钥
* @param strCer 文件存储目录
*/
private static PublicKey getPlkformCer(String strCer){
FileInputStream bais;
try {
CertificateFactory certificatefactory = CertificateFactory.getInstance("X.509");
bais = new FileInputStream(strCer);
X509Certificate Cert = (X509Certificate) certificatefactory.generateCertificate(bais);
PublicKey pk = Cert.getPublicKey();
BASE64Encoder bse = new BASE64Encoder();
System.out.println("public key:" + bse.encode(pk.getEncoded()));
return pk;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (CertificateException e) {
e.printStackTrace();
}
return null;
}
测试实例
public static void main(String args[]) {
String strCer = "D:\\test\\public.cer";
getPlkformCer(strCer);
}
结果: