2017-09-07 2 views

Répondre

1

Nevermind, compris moi-même. OpenSSL CLI permet à l'indicateur -subj de définir des informations sur l'autorité de certification (CA), mais l'ajout des noms alternatifs d'objet (SAN) ne peut pas être effectué à l'aide de la ligne de commande. J'ai donc dû appeler -config suivi du fichier que je veux charger en configuration simple. Pour créer des certificats auto-signés, cela devrait suffire, mais pas pour la production:

# ./config/tiny_openssl.conf  
[CA_default] 
copy_extensions = copy 

[req] 
default_bits = 4096 
prompt = no 
default_md = sha256 
distinguished_name = req_distinguished_name 
x509_extensions = v3_ca 

[req_distinguished_name] 
C = US 
ST = Washington 
L = Seattle 
O = My Company 
OU = IT Department 
emailAddress = [email protected] 
CN = mycompany.com 

[v3_ca] 
basicConstraints = CA:FALSE 
keyUsage = digitalSignature, keyEncipherment 
subjectAltName = @alternate_names 

[alternate_names] 
DNS.1 = localhost 
DNS.2 = *.localhost 
DNS.3 = app.localhost 
# ... 

Les valeurs [alternate_names] doivent correspondre à l'URL du site (ou sites) servi sous SSL par le certificat généré. Quelque chose comme localhost ou app.localhost peut fonctionner. Ensuite, nous tirons OpenSSL en utilisant cette config.

$ openssl req -x509 -newkey rsa:4096 -sha256 -utf8 -days 365 -nodes \ 
    -config ./config/tiny_openssl.conf \ 
    -keyout ./certificates/private.key \ 
    -out ./certificates/ssl/certificate.crt 

Ajouté ce fichier .crt dans Windows 10 comme Autorités de certification racine de confiance, Chrome et redémarré le serveur Web et voilá.

Si vous êtes inquiet pour les performances de la transaction HTTP, vous pouvez modifier les bits rsa à 2048.


Cela peut fonctionner uniquement pour les tests internes entre un serveur et un navigateur. Si vous avez besoin d'une solution plus complète et fiable avec 100% valides Certificats SSL, vous devez faire un CA, un CRS, puis signer le CRS avec cette autorité de certification, qui sortira aa certificat auto-signé valide:

https://stackoverflow.com/a/21494483/647490

+0

Merci, cela a fonctionné :) Sur Mac générer le fichier .crt comme ci-dessus, lien dans votre https config SSL, redémarrez-vous Apache. Puis double-cliquez sur le fichier .crt pour "Ajouter au trousseau", puis double-cliquez sur le certificat installé et développez la section "Trust" et sélectionnez "Toujours faire confiance", redémarrez chrome, et "voilá" – kontur