J'utilise le code suivant pour générer des clés:
apt-get -qq -y install openssl;
mkdir -p /etc/apache2/ssl;
openssl genrsa -des3 -out server.key 1024;
openssl req -new -key server.key -out server.csr;
cp server.key server.key.org;
openssl rsa -in server.key.org -out server.key;
openssl x509 -req -days 12000 -in server.csr -signkey server.key -out server.crt;
mv server.crt /etc/apache2/ssl/cert.pem;
mv server.key /etc/apache2/ssl/cert.key;
rm -f server.key.orig;
rm -f server.csr
J'ai deux questions:
Comment puis-je ignorer l'invite de phrase secrète? Serait-il raisonnablement prudent pour moi de le faire? (comme dans ce ne devrait pas être carrément idiot comme n'importe qui devrait pouvoir pirater le certificat)
Comment éviter les invites pour le nom du pays, l'organisation, etc. J'espère pouvoir leur donner l'invite de commande (la page de manuel ne montre que les options de niveau supérieur pour OpenSSL)
-x509
et-days
pour générer une CSR au lieu d'un certificat, puis utilisez votre méthode de signature CA habituelle.L'
-passin
option ne fait- elle pas l'affaire pour vous?Avec la
file:pathname
forme, vous pouvez être assez sûr avec les autorisations 600 pour ce fichier.la source
-passin 'pass:YOUR_PASSWORD'
? - doc: openssl.org/docs/man1.0.2/apps/…La réponse acceptée nécessite quelques petites corrections. Lignes EC:
devrait être:
Sur MacOS - OpenSSL 1.0.2f installé via brew, j'ai vérifié la réponse acceptée comme décrit ci-dessous.
Pour lister les courbes elliptiques disponibles:
Pour générer un fichier de clé:
Pour générer le cert sans invite de mot de passe:
Pour voir le cert:
la source
Essayez la commande suivante:
La partie est sauter:
-passout pass:foo
.la source
@bahamat a une excellente réponse. Malheureusement, certaines versions d’openssl génèrent une erreur lorsqu’on tente de créer un certificat ECDSA avec une seule commande. L'erreur va quelque chose comme:
J'utilisais
openssl 1.0.1e-fips
surCentOS 7
.La création de votre certificat avec les 3 commandes suivantes semble fonctionner:
la source
server.crt
?