需要在 java 中生成相同的序列化值,类似于 CertSerializeCertificateStoreElement Windows API

Need to generate same serialized value in java similar to CertSerializeCertificateStoreElement Windows API

我想在 Java 中生成相同的证书序列化值,这等同于使用 CertSerializeCertificateStoreElement Windows API.

生成的值

我尝试在 Java 中生成证书的序列化值,但生成的输出不同。

Link 到 Windows API : CertSerializeCertificateStoreElement

提前致谢。

CertSerializeCertificateStoreElement 是一个非常特定于 Win32 的概念。 Windows 证书存储 API 支持将各种元数据添加到证书中,这不是证书本身的一部分(最流行的一种:关联私钥的位置),并且 CertSerializeCertificateStoreElement 导出证书以及所有属性以便能够再次导入(作为 backup/restore 或 export/import)。

如果您确实需要该功能,可以通过 JNA 在 Windows 上调用它。

如果您想要的是 X.509 证书数据,在 Windows 中可以直接在 PCERT_CONTEXTpbCertEncoded/cbCertEncoded 字段中获得。