如何在 java 的证书(DER 格式,即 .cer 文件)中显示主题的详细信息?例如:电子邮件、国家、姓名或单独的 OID 等。
可以从上面的代码中读取证书。也可以在 Android 中使用。谢谢 GreyBeardedGeek。但为了更详细地说明它(如好奇的要求),如果您使用方法 getSubjectDN() 或 cert.getSubjectX500Principal().getname() 显示主题详细信息,它将显示整个详细信息。有些可能被编码。我相信它是 ASN1。(不确定)。我需要的是只提取我需要的信息。有关示例,请参阅我创建的示例证书的代码输出。using method - cert.getSubjectX500Principal().getname() Subject Name 2.5.4.5=#130d4e2d61626c652f49542f303130,2.5.4.72=#1308456e67696e656572,2.5.4.41=#13104e7577616e20446520416c6d65696461,1.2.840.113549.1.9.1=#16106e7577616e406e2d61626c652e62697a,OU=Information Technology ,O=N-able Pvt Ltd\ ,ST=西方,C=LK
2.5.4.5 是经过编码的 OID(对象标识符)。
使用方法——getSubjectDN()
OID.2.5.4.5=N-able/IT/010, OID.2.5.4.72=工程师, OID.2.5.4.41=努万德阿尔梅达, OID.1.2.840.113549.1.9.1=#16106E7577616E406E2D61626C652E62697A, OU=信息技术, O="N-able Pvt Ltd",ST=西方,C=LK
这里还对一些信息进行了编码,例如:电子邮件地址。
所以回到我的问题,我们如何根据 OID 分别提取信息(未编码)。此外,如果您在 windows 操作系统中安装证书,您可以正确查看主题信息。我需要的是一个代码来获取通过 java 中的 OID 的 OID 值信息,以单独提取主题详细信息。
再次提前感谢您。