J'exécute cette commande sur mon ordinateur (Openssl version: 1.0.1):
openssl pkcs8 -inform DER -in file.key -passin pass:12345678a -outform PEM -out key.pem
et j'ai eu ce key.pem:
-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANCFPVXwO+6qQdOs
...
wVauPfh0cGEf1Kc=
-----END PRIVATE KEY-----
Mais quand je lance la même commande depuis mon serveur (version Openssl: 0.9.8e-fips-rhel5), j’obtiens cette sortie:
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDQhT1V8DvuqkHTrMPFUUAXUl0ihDGoiD86SqK8Z3n19yp1VrJf
...
zHY0343VXnpM2opKwG2E1zgfHfbcLMFWrj34dHBhH9Sn
-----END RSA PRIVATE KEY-----
L'intérieur de Base64 est différent et aussi les en-têtes:
-----BEGIN PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
Le premier fonctionne pour moi, comment puis-je obtenir la ----- BEGIN PRIVATE KEY ----- sur la version 0.9.8?
J'ai trouvé cela sur les notes de correctif OpenSsl:
Changez le format de clé privée par défaut en PKCS # 8.
donc, cela pourrait être le problème principal, j'espère que quelqu'un pourra m'aider avec cela, je ne trouve pas le moyen d'obtenir la clé privée, mais pas celle de BEGIN RSA PRIVATE KEY.
Merci
Faites openssl pkcs8 -topk8
pour convertir une clé privée du format traditionnel au format pkcs # 8.
Ce format
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
est appelé "format SSLeay" ou "format traditionnel" pour clé privée.
Je ne suis pas sûr du format de votre clé. Je vais donc démontrer l'idée avec une clé privée générée par genrsa
. Lorsque vous faites genrsa
dans OpenSSL 0.9.8x, la clé générée est au format traditionnel. C'est, après
openssl genrsa -out file.key 1024
vous obtiendrez une clé RSA au format traditionnel
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQC3TyaSzsJO92/Ahq5rxRI1T0JSC0iF...
-----END RSA PRIVATE KEY-----
Ensuite, faites pkcs8
avec -topk8
pour convertir cette clé du format traditionnel au format pkcs # 8.
openssl pkcs8 -topk8 -inform pem -in file.key -outform pem -nocrypt -out file.pem
Voici ce que vous obtiendrez:
-----BEGIN PRIVATE KEY-----
MIICdQIBADANBgkqhkiG9w0BA...
-----END PRIVATE KEY-----
Toutes les opérations ci-dessus sont effectuées avec OpenSSL 0.9.8x. Il vous explique comment générer une clé de format PKCS # 8 à partir de la clé de format traditionnelle. D'autre part, vous pouvez toujours l'exécuter sur OpenSSL 1.0.1 pour rendre la clé compatible avec l'ancienne version:
openssl rsa -in file.pem -text > key.pem