如何修复错误"主题类类型无效。"

时间:2016-07-26 03:59:01

标签: java pki ca

我使用java编写CA模块来创建和签署证书。当我运行我的代码时,错误"主题类类型无效。" 出现了,但在目标文件夹中我可以获得两个文件: rooca.crt rootca.pfx 。证书包含我设置的信息。也许代码结果是正确的,但我仍然想修复错误。

例外的细节:

java.security.cert.CertificateException: Subject class type invalid.
at sun.security.x509.X509CertInfo.setSubject(Unknown Source)
at sun.security.x509.X509CertInfo.set(Unknown Source)
at com.koal.Test.createIssueCert(Test.java:124)
at com.koal.Test.main(Test.java:353)

我的部分代码: enter image description here     在这里输入代码

2 个答案:

答案 0 :(得分:9)

我遇到了类似的问题。此代码适用于Java 1.6,并且在Java 1.8上运行时失败并出现此异常。

我可以通过实施the following solution来修复此问题。

事实上,在Java 1.8中,您似乎不必再将X500Name封装到CertificateSubjectName或CertificateIssuerName中。您可以将X500Name对象直接存储在X509CertInfo实例中。

答案 1 :(得分:1)

更改此“ info.set(X509CertInfo.SUBJECT,新的CertificateSubjectName(subject));” 到info.set(X509CertInfo.SUBJECT,subject);对我有用