J'ai un certificat X.509 généré par OpenSSL au format PEM et c'est un fichier clé associé. Ce certificat est requis pour l'authentification lors de la connexion à un serveur prototype. Cela fonctionne bien sur Linux. J'utilise l'API Microsoft Schannel pour piloter des connexions SSL/TLS sur des plates-formes Windows, mais je souhaite utiliser le même certificat de test. Je peux cliquer avec le bouton droit de la souris sur le fichier de certificat et l'importer dans mon magasin de certificats, mais je pense que la clé privée n'est pas importée avec elle (même si je les ai concaténées dans le même dossier).
Lorsque je vais à exécuter le code Schannel, j'obtiens une erreur "SEC_E_NO_CREDENTIALES" lorsque j'y introche le contexte de sécurité (via InitialiseSecurityContext). Je suppose que cela signifie que la clé privée est manquante.
Est-ce que quelqu'un sait comment tester la présence ou l'absence d'une clé privée dans un certificat situé dans le magasin de certificats personnel (ou "My '), accessible via' certmgr.msc '?. Est-il possible d'importer un nouveau fichier de clé pour un certificat dans le magasin?
Toute perspicacité ou conseil serait très appréciée.
Pour tester si la clé privée est installée pour le certificat, double-cliquez sur l'icône de certificat dans certmgr.msc. S'il a une clé privée, il affichera un message dans la page de propriétés que vous avez une clé privée, sinon cela ne donnera aucune référence à la clé privée.
Pour importer le certificat avec sa clé privée, vous pouvez procéder comme suit:
Notez que vous pouvez voir des erreurs lors de l'importation du fichier PFX, telle que "Ce fichier est invalide pour une utilisation comme suit: Exchange d'informations personnelles". Cette erreur a été causée par le certificat qui manque d'extensions de X.509 V3 appropriées (telles que les champs d'utilisation (signature numérique, etc.))