2017-10-17 7 views
-1

J'ai utilisé this repo pour créer un certificat basé sur un certificat racine auto-signé. Mon certificat racine m'a été donné sous la forme de MyCARoot.cer et MyCARoot.pvk Ils ont été créés (et déjà déployés) auparavant avec makecert. Pour pouvoir utiliser le code dans le lien ci-dessus, j'ai dû combiner les fichiers .cer et .pvk en .pfx en utilisant pvk2pfx.exeCréation d'un certificat émis à partir d'un certificat racine auto-signé avec BouncyCastle

Mon problème est qu'après avoir généré le certificat et l'avoir importé dans le magasin personnel, il semble être invalide. Dans l'onglet Chemin de certification MMC, il dit:

L'émetteur du certificat n'a pas pu être trouvé

Note: le seul changement que j'ai fait au code sont le mot de passe utilisés.

Répondre

0

Le problème avec cette source était qu'il était censé faire:

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

au lieu de ceci:

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

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