我正在使用jwt令牌的X509Certificate (.pfx文件)。在X509Certificate2中有一个称为RawData的参数。我知道这肯定包含publicKey和其他一些关于证书的元数据信息。
我想知道这个rawData参数是否包含任何其他关键信息,如PrivateKey。我找不到太多的文档来解释这些参数。我可以得到更多关于这个参数的文档,它包含的内容,以及它是否可以安全地共享。
发布于 2018-01-20 22:09:49
使用this构造函数从具有私钥的X509Cetificate的RawData生成X509Certificate。创建的新证书的HasPrivateKey为false,PrivateKey值为null。
发布于 2018-05-31 01:44:15
假设X509Certificate certInstance是一个包含所有好处的Pfx证书的实例。
在导出证书时,这取决于内容类型。您可以从该原始数据重建证书。例如,在C#中如果我使用:
certInstance.Export(X509ContentType.Pfx);则私钥和公钥将在原始数据中。但如果导出为cert或其他值,则可能会发生变化。如果导出为:
certInstance.Export(X509ContentType.Cert);它将剥离证书中的敏感信息,如私钥。但是,如果您使用相同原始数据并尝试转换回pfx,则私钥数据将为空。
如果您想要更改证书的内容类型,您可以执行以下操作。
byte[] certificateAsBytes = certInstance.Export(X509ContentType.Cert);
X509Certificate2 myNewCert = new X509Certificate2(certificateAsBytes);以下是可用的不同内容类型的链接:
https://stackoverflow.com/questions/48356605
复制相似问题