语句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;
-

浙公网安备 33010602011771号