簡體   English   中英

使用 BouncyCastle 創建基於自簽名根證書頒發的證書

[英]Creating certificate issued based on self-signed root certificate with BouncyCastle

我一直在使用這個 repo ,它允許創建基於自簽名根證書的證書。

我的根證書以 MyCARoot.cer 和 MyCARoot.pvk 的形式提供給我。它們是之前使用 makecert 創建(並已部署)的。 因此,為了讓我使用上述鏈接中的代碼,我必須使用 pvk2pfx.exe 在 .pfx 中組合 .cer 和 .pvk 文件

我的問題是,生成證書並將其導入到個人存儲后,它似乎無效。 在 MMC 的認證路徑選項卡上,它說:

找不到證書的頒發者

注意:我對代碼所做的唯一更改是使用的密碼。

該來源的問題在於它應該這樣做:

X509Certificate issueCert = Org.BouncyCastle.Security.DotNetUtilities.FromX509Certificate(issuerCertificate);
var authorityKeyIdentifier = new AuthorityKeyIdentifierStructure(issueCert);
certificateGenerator.AddExtension(X509Extensions.AuthorityKeyIdentifier.Id, false, authorityKeyIdentifier);

而不是這個:

var authorityKeyIdentifierExtension =
new AuthorityKeyIdentifier(
    SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(issuerKeyPair.Public),
    new GeneralNames(new GeneralName(issuerDN)),
    issuerSerialNumber);

certificateGenerator.AddExtension(
    X509Extensions.AuthorityKeyIdentifier.Id, false, authorityKeyIdentifierExtension);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM