2016-06-07 1 views
2

ContexteComment puis-je charger un certificat .pem dans C# à partir d'un fichier?

J'ai un fichier de certificat pfx. Je peux charger avec succès à une classe X509Certificate2 en utilisant le code suivant:

var path = "mycert.pfx" 
var password = "mypassword"; 
var certificate = new X509Certificate2(path, password); 

Pour certaines raisons, je voudrais utiliser le format .pem au lieu de format binaire. Donc, je l'ai converti mon « mycert.pfx » à « mycert.pem » en utilisant la commande OpenSSL suivante:

pkcs12 -in mycert.pfx -out mycert.pem -nodes 

Question

Comment puis-je charger mon mycert.pem converti de manière similaire comme j'ai chargé avec succès le mycert.pfx? Le code suivant me donne une exception CryptographicException disant "Impossible de trouver l'objet demandé." (Note: ce n'est pas une exception io à propos de fichier non trouvé)

var path = "mycert.pem" 
var password = "mypassword"; 
var certificate = new X509Certificate2(path, password); 

Répondre

2

Windows ne prend pas en charge PKCS # 12 au format PEM (base64). Vous devez utiliser les fichiers PKCS # 12 en codage binaire uniquement.