2016-07-26 26 views
5

Tôi sử dụng java để mã một mô-đun CA để tạo và ký chứng chỉ. Khi tôi chạy mã của mình, lỗi "Loại lớp chủ đề không hợp lệ". xuất hiện, nhưng trong thư mục đích tôi có thể lấy hai tệp: rooca.crtrootca.pfx. Chứng chỉ chứa thông tin tôi đã đặt. Có lẽ mã là kết quả là đúng, nhưng tôi vẫn muốn sửa lỗi.Cách khắc phục lỗi "Loại lớp chủ đề không hợp lệ".

Các chi tiết của các ngoại lệ:

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) 

Một phần của mã của tôi: enter image description here enter code here

Trả lời

7

tôi phải đối mặt với một vấn đề tương tự. Mã này hoạt động tốt với Java 1.6 và không thành công với ngoại lệ này khi chạy trên Java 1.8.

Tôi có thể khắc phục sự cố này bằng cách triển khai the following solution.

Trong thực tế, trong Java 1.8, có vẻ như bạn không phải đóng gói nữa X500Name vào CertificateSubjectName hoặc CertificateIssuerName. Bạn có thể lưu trữ đối tượng X500Name trực tiếp trong cá thể X509CertInfo.

Các vấn đề liên quan