关于国密算法通过java代码生成公私钥串,分享两种方式。
方式一:
关键代码
#国密证书使用了自有的椭圆曲线,无法使用JDK自带的java.security解析证书,需要引入BouncyCastle的BC库支持国密算法
#如果不引入BC库这里会报java.security.NoSuchProviderException: no such provider: BC错误
#这里有个坑,bcprov-jdk15on需1.59以上的版本,之前引的是1.54版一直报错
String cerPath=“C:\测试证书\test.cer”;
Security.addProvider(new BouncyCastleProvider());
CertificateFactory certificateFactory = CertificateFactory.getInstance(“X.509”,“BC”);
FileInputStream fileInputStream = new FileInputStream(cerPath);
X509Certificate x509Certificate = (X509Certificate) certificateFactory.generateCertificate(fileInputStream);
fileInputStream.close();
System.out.println("-----------------公钥--------------------");
System.out.println(“证书序列号:”+ x509Certificate.getSerialNumber());
System.out.println(“证书公钥:”+ x509Certificate.getPublicKey());
System.o