Je suis responsable de la maintenance de deux serveurs Debian. Chaque fois que je dois faire quelque chose avec des certificats de sécurité, je Google pour des tutoriels et repousser jusqu'à ce que cela fonctionne enfin.
Cependant, dans mes recherches , je souvent rencontré différents formats de fichiers ( .key
, .csr
, .pem
) mais je ne l' ai jamais été en mesure de trouver une bonne explication de ce que le but de chaque format de fichier est.
Je me demandais si les gens bien ici chez ServerFault pourraient fournir des éclaircissements sur ce sujet?
certificate
pki
Noah Goodrich
la source
la source
Réponses:
SSL existe depuis assez longtemps pour que vous pensiez qu'il existe des formats de conteneur convenus. Et vous avez raison, il y en a. Trop de normes comme cela se produit. C’est donc ce que je sais et je suis sûr que d’autres y participeront.
/etc/ssl/certs
), ou peut inclure une chaîne de certificats complète comprenant une clé publique, une clé privée et certificats racine. De manière confuse, il peut également coder un CSR (par exemple, tel qu’il est utilisé ici ) car le format PKCS10 peut être traduit en PEM. Le nom vient de Privacy Enhanced Mail (PEM) , une méthode ayant échoué pour la messagerie sécurisée, mais le format de conteneur utilisé est toujours valide. Il s'agit d'une traduction en base64 des clés x509 ASN.1./etc/ssl/private
. Les droits sur ces fichiers sont très importants et certains programmes refuseront de charger ces certificats s’ils sont mal réglés.openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes
Quelques autres formats qui apparaissent de temps en temps:
openssl x509 -inform der -in to-convert.der -out converted.pem
). Windows les considère comme des fichiers de certificat. Par défaut, Windows exportera les certificats sous forme de fichiers au format .DER avec une extension différente. Comme....keystore
comme une extension. Contrairement aux certificats de style .pem, ce format comporte une méthode définie pour inclure les certificats de chemin de certification.En résumé, il existe quatre manières différentes de présenter les certificats et leurs composants:
J'espère que ça aide.
la source
ssh-keygen
. Il serait utile de savoir comment cela s’associe au reste.PEM seul n'est pas un certificat, c'est simplement une manière d'encoder des données. Les certificats X.509 sont un type de données couramment codé à l'aide de PEM.
PEM est un certificat X.509 (dont la structure est définie à l'aide de ASN.1), codé à l'aide des règles de codage différenciées ASN.1, puis exécuté par le codage Base64 et bloqué entre des lignes d'ancrage en texte brut (BEGIN CERTIFICATE et END CERTIFICATE ).
Vous pouvez représenter les mêmes données à l'aide des représentations PKCS # 7 ou PKCS # 12, à l'aide de l'utilitaire de ligne de commande openssl.
Les avantages évidents de PEM sont qu'il est sûr de coller dans le corps d'un e-mail, car il comporte des lignes d'ancrage et est propre 7 bits.
La RFC1422 contient plus de détails sur la norme PEM en ce qui concerne les clés et les certificats.
la source
openssl x509 -inform der -in cert.cer -out cert.pem
. Pour convertir un fichier PEM à DER:openssl x509 -outform der -in cert.pem -out certi.der
. Pour convertir un fichier PKCS # 12 (.pfx p12) contenant une clé privée et certificats PEM:openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
. Pour convertir un fichier de certificat PEM et une clé privée en PKCS # 12 (.pfx .p12):openssl pkcs12 -export -out cert.pfx -inkey privateKey.key -in cert.crt -certfile CACert.crt
À partir d' iciParfois, un
.crt
fichier est déjà un fichier.pem
. Voir: https://stackoverflow.com/questions/991758/openssl-pem-keyla source
.foobar
pour tout ce qui compte ...