runliuv

runliuv@cnblogs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

语句1:

SubjectKeyIdentifier sid = cert.getSubjectKeyIdentifier();

cert 是JAVA的cfca.sadk.x509.certificate.X509Cert。

.NET 这边是 X509Certificate2 cert ,先转成BC库的 X509。从X509的公钥中提取sid。

// 首先转换为 BouncyCastle 的 X509Certificate            
var bcCert = new X509CertificateParser().ReadCertificate(cert.GetRawCertData());
// 主题密钥标识符 (SKI)。 JAVA BC 库写法:SubjectKeyIdentifier sid = cert.getSubjectKeyIdentifier();
SubjectKeyIdentifier sid = new Org.BouncyCastle.X509.Extension.SubjectKeyIdentifierStructure(bcCert.GetPublicKey());

 

语句2:

AlgorithmIdentifier keyEncAlg = cert.getCertStructure().getSubjectPublicKeyInfo().getAlgorithm();

.NET这边:

AlgorithmIdentifier keyEncAlg= bcCert.CertificateStructure.SubjectPublicKeyInfo.AlgorithmID;

 

语句3:

CMSEnvelopedData cmsEnData = new CMSEnvelopedData(bEnvelop);
                ContentInfo info = cmsEnData.toASN1Structure();

这里的cmsEnData.toASN1Structure() 其实就是 ContentInfo

CmsEnvelopedData cmsEnData = new CmsEnvelopedData(bEnvelop);
Org.BouncyCastle.Asn1.Cms.ContentInfo info = cmsEnData.ContentInfo;

 

-

posted on 2025-11-21 17:41  runliuv  阅读(1)  评论(0)    收藏  举报