2 votes

Apache phrase secrète fonctionne parfois.

Sur l'un de mes serveurs, j'observe le problème suivant avec la passphrase SSL : certains certificats la passent sans demander de mot de passe, tandis que d'autres continuent de le demander.

Je l'ai configuré de manière globale :

SSLPassPhraseDialog exec:/chemin/vers/passphrase

Mais lorsque je redémarre apache, il me demande la passphrase sur quelques domaines qui utilisent le même certificat générique.

Une idée de ce qui peut causer cela ?

Pour vérifier la passphrase, j'ai exécuté :

(openssl x509 -noout -modulus -in server.pem | openssl md5 ; openssl rsa -noout -modulus -in server.key | openssl md5) | uniq

et j'obtiens une seule empreinte, ce qui signifie qu'elles correspondent, la passphrase est la même

 [Mer Mar 05 17:13:23 2014] [error] Init: Pass phrase incorrect
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 218640442 error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 67710980 error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
 [Mer Mar 05 17:13:23 2014] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

Comment puis-je vérifier si cela est dû à la politique SELinux, lorsque je supprime la passphrase tout fonctionne ? Au fait, pour le moment, SELinux est désactivé sur mon serveur

Une aide ?

1voto

Thomma Points 66

J'ai corrigé ce problème, cela était dû au fait que certains certificats ont été signés avec des mots de passe différents

echo "Mot de passe \$21"

et avec

echo 'Mot de passe \$21'

Donc le backslash dans le premier exemple était un échappement pour $, et dans le deuxième exemple nous avons un backslash et $ utilisés dans le mot de passe.

Écrire un script simple résout ce problème

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X