Je configure OpenVPN de serveur à serveur avec une infrastructure PKI et je ne peux pas le faire fonctionner. Je soupçonne que c'est quelque chose dans la chaîne des certificats, mais je suis incapable d'expliquer comment. J'ai une autorité de certification racine hors ligne et une hiérarchie de certificats. Les CA sont gérés en externe par un produit appelé EJBCA. Sur le plan visuel, la chaîne ressemble à ceci (avec des noms modifiés):
RootCA -> OnlineSubCA -> SubCA1 -> VPNCA
J'ai signé un serveur et un certificat client avec CA VPNCA et j'ai la chaîne de certificats sur ces systèmes. Lors du débogage d'OpenVPN, j'ai essayé d'utiliser "openssl s_server" et s_client ", ce qui me porte à croire que c'est la chaîne CA. Plus précisément sur le serveur:
openssl s_server -cert server.cert -key server.key -CAfile chained.pem -verify 5
et sur le client
openssl s_client -cert client.cert -key client.key -CAfile chained.pem -verify 5
le serveur crache, entre autres:
depth=3 C = CA, O = My Company, CN = OnlineSubCA
verify error:num=24:invalid CA certificate
verify return:1
depth=3 C = CA, O = My Company, CN = OnlineSubCA
verify error:num=26:unsupported certificate purpose
verify return:1
depth=4 C = CA, O = My Company, CN = RootCA, emailAddress = certs@mycompany.com
verify return:1
depth=3 C = CA, O = My Company, CN = OnlineSubCA
verify return:1
depth=2 CN = SubCA1, O = My Company, C = CA
verify return:1
depth=1 CN = VPNCA
verify return:1
depth=0 C = CA, ST = , L = , O = My Company, OU = , CN = client1.mycompany.com, emailAddress = pki@mycompany.com
verify return:1
et je suis complètement perdu pour expliquer comment ou pourquoi c'est le cas. OpenVPN échoue également avec une erreur similaire, du client:
VERIFY ERROR: depth=3, error=invalid CA certificate: /C=CA/O=My_Company/CN=OnlineSubCA
J'utilise OpenVPN 2.2.1 et OpenSSL 1.0.1 sur Ubuntu 12.04. Le temps est synchronisé sur les deux.
Je ne sais plus comment continuer. Toutes les idées / suggestions seraient grandement appréciées.