Je travaille avec Apache2 et Passenger pour un projet Rails. Je voudrais créer un certificat SSL auto-signé à des fins de test.
Sudo openssl rsa -des3 -in server.key -out server.key.new
Quand j'entre la commande ci-dessus, il dit
writing RSA key
Enter PEM pass phrase:
Si je n'entre pas la phrase de passe, je reçois l'erreur ci-dessous
unable to write key
3079317228:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:869:Yo
u must type in 4 to 1024 characters
3079317228:error:0906406D:PEM routines:PEM_def_callback:problems getting passwor
d:pem_lib.c:111:
3079317228:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:382
Est-il possible de générer une clé RSA sans donner pass phrase
, car je ne sais pas comment le /etc/init.d/httpd
le script démarrera le serveur HTTP sans intervention humaine (c'est-à-dire si je donne une phrase de passe à 4 caractères, il s'attend à ce que je le fournisse lors du démarrage du serveur HTTP Apache).
Si vous générez un certificat auto-signé, vous pouvez effectuer la clé et le certificat dans une seule commande comme ceci:
openssl req -nodes -new -x509 -keyout server.key -out server.cert
Oh, et ce que @MadHatter a dit dans sa réponse à propos de l'omission du -des3
drapeau.
Laissez le -des3
flag, qui est une instruction pour openssl pour crypter server.key.new (qui, soit dit en passant, n'est pas du tout une nouvelle clé - c'est exactement la même chose que server.key, seulement avec la phrase de passe modifiée/supprimée).
Le openssl req
la commande de la réponse de @Tom H est correcte pour créer un certificat auto-signé dans server.cert
incl. une clé privée RSA sans mot de passe dans server.key
:
openssl req -nodes -new -x509 -keyout server.key -out server.cert
Voici comment cela fonctionne. Omettre -des3
comme dans le réponse de @MadHatter ne suffit pas dans ce cas pour créer une clé privée sans mot de passe. Il est suffisant à cet effet dans le openssl rsa
("convertir une clé privée") commandée par @MadHatter et openssl genrsa
("créer une clé privée"). Pas pour le openssl req
commande ici. Nous avons également besoin de -nodes
("Non DES cryptage de server.key
S'il vous plaît!").
Utilisez le -nodes
paramètre, si cette option est spécifiée, la clé privée ne sera pas chiffrée, par exemple:
openssl \
req \
-nodes \
-newkey rsa:2048 \
-keyout www.example.com.key \
-out www.example.com.csr \
-subj "/C=DE/ST=NRW/L=Berlin/O=My Inc/OU=DevOps/CN=www.example.com/[email protected]"
Exécutez-le à nouveau via openssl
générer d'abord la clé avec la phrase secrète
puis openssl rsa -in server.key -out server.key
Utilisez la commande suivante pour générer un fichier de clé privée sans mot de passe avec AUCUN cryptage. Le dernier paramètre est la taille de la clé privée.
openssl genrsa -out my-passless-private.key 4096
L'ajout de '-nodes' à la 'openssl req' permet de générer une clé privée non chiffrée (pas de phrase secrète) à partir de la commande 'openssl req'