다음과 같은 만료된 X.509 인증서가 있습니다.
$ openssl x509 -in openvpn.net -text -noout
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
03:fa:55:a7:80:b5:b5
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2
Validity
Not Before: Dec 10 20:42:04 2013 GMT
Not After : Mar 5 17:46:58 2014 GMT
Subject: OU=Domain Control Validated, CN=*.openvpn.net
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
00:d8:1c:cd:03:64:34:52:e3:6a:fd:96:10:4d:76:
c6:33:f8:70:fb:6c:0d:93:ac:3c:49:1b:bf:c4:9a:
c3:b5:08:87:c8:1c:fc:81:64:91:41:45:81:e0:70:
63:69:e0:86:ec:e1:48:84:26:2f:3f:4b:7d:6d:6c:
88:bc:44:11:ff:72:b1:32:d9:30:24:e4:78:78:0c:
fb:73:5d:43:05:4e:5c:5a:05:f7:85:e0:69:c9:b8:
ca:7d:0a:33:b9:12:ee:ff:ed:20:7b:8d:04:89:05:
74:80:7a:5c:4a:39:07:70:14:56:31:59:ae:4f:6f:
3d:5d:c6:36:00:b6:aa:7e:45:6b:bc:cb:4a:8f:cc:
20:69:f6:39:ec:29:e9:6a:14:6e:42:ca:99:d1:d7:
08:23:31:5c:5b:b3:48:13:01:fe:bc:44:34:62:c7:
81:2e:4e:74:1e:73:42:b3:5f:ee:23:55:9f:62:d0:
46:5e:c2:00:14:7b:b5:e5:26:40:12:a6:32:50:22:
b3:a6:df:b6:a3:90:d4:39:ae:ea:3e:53:f5:58:89:
7a:b7:6a:d8:6f:d3:ae:1b:e0:7c:90:86:04:39:c3:
a3:c8:8a:52:5a:d5:83:e7:07:80:5b:b2:e2:7a:5a:
24:b2:d8:53:34:ad:2a:e2:d4:3a:57:5c:6e:3c:46:
58:b5
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 CRL Distribution Points:
URI:http://crl.godaddy.com/gdig2s1-6.crl
X509v3 Certificate Policies:
Policy: 2.16.840.1.114413.1.7.23.1
CPS: http://certificates.godaddy.com/repository/
Authority Information Access:
OCSP - URI:http://ocsp.godaddy.com/
CA Issuers - URI:http://certificates.godaddy.com/repository/gdig2.crt
X509v3 Authority Key Identifier:
keyid:40:C2:BD:27:8E:CC:34:83:30:A2:33:D7:FB:6C:B3:F0:B4:2C:80:CE
X509v3 Subject Alternative Name:
DNS:*.openvpn.net, DNS:openvpn.net
X509v3 Subject Key Identifier:
DA:4D:97:2B:F8:A2:C5:E9:9D:A2:E4:CB:56:01:0B:9B:74:24:01:01
Signature Algorithm: sha256WithRSAEncryption
9b:b7:07:59:02:0c:67:f3:c1:49:45:fe:30:9a:1a:39:19:cb:
42:33:fc:62:02:29:fc:f5:ef:5d:61:36:4a:e2:c5:f6:52:04:
57:81:28:18:77:60:c0:99:1a:4a:45:e5:f7:eb:03:36:d2:bf:
9d:b6:93:38:98:06:b4:81:fb:5c:ff:e6:ef:7c:8d:ff:cd:5f:
53:b1:10:23:03:38:12:12:a8:99:c8:35:a1:6a:60:ba:4a:f4:
61:7f:96:cb:81:70:f3:c6:d8:2a:b5:69:b8:d9:56:0a:46:73:
9b:d0:d7:c1:2f:9a:d8:94:ac:37:0b:57:80:f9:a1:ec:e1:bf:
43:76:c6:ea:01:c6:97:c8:55:29:a8:b6:b9:19:bd:81:92:9a:
a9:ec:be:b0:4c:3e:11:f5:8b:8c:8f:af:fa:f5:d4:4d:d7:77:
c0:1f:aa:cd:f7:01:80:ad:62:d4:db:1d:e3:a0:23:77:2f:4b:
ea:65:5c:9e:9c:46:bc:be:ce:f3:71:79:cd:19:c3:44:f5:49:
de:4b:24:a5:8b:48:3e:60:4d:9d:dd:1d:50:35:66:6a:d6:96:
77:7c:19:9b:66:e1:46:de:4e:c2:ce:c5:96:88:2c:d7:7d:cc:
94:ac:1f:23:d4:a8:e9:6d:c0:f3:9f:a8:21:a7:fd:dc:25:95:
6f:eb:e3:a0
$
제가 아는 한, 인증서는 Go Daddy Secure Certificate Authority
에 발급되었습니다 *.openvpn.net
. 인증서가 실제로 GoDaddy에서 발행되었는지 확인하려면 다음 위치에서 GoDaddy 루트 인증서 중 하나를 다운로드해야 한다고 생각했습니다.여기. 그러나 그것은 어느 것입니까? openssl
위 인증서가 실제로 GoDaddy에서 발행되었는지 확인하기 위해 유틸리티를 사용하려면 어떻게 해야 합니까 ?
답변1
사용 openssl verify
.
예를 들어:
$ openssl verify -CAfile /path/to/issuer.cert /path/to/server.cert
이 경우 발급자는 GoDaddy의 중개 인증서여야 하며, 서버 인증서는 확인하려는 인증서입니다. 어떤 중개인이 적합합니까? x.509 출력은 다음을 알려줍니다.
Authority Information Access:
OCSP - URI:http://ocsp.godaddy.com/
CA Issuers - URI:http://certificates.godaddy.com/repository/gdig2.crt
따라서 원하는 발급자는http://certificates.godaddy.com/repository/gdig2.crt.
OpenVPN 구성에서 경로를 옵션 gdig2.crt
으로 설정할 수 있으며 이는 확인하기에 충분합니다. 마음의 평화를 위해서는 루트까지 유효성을 ca
확인하는 것이 가장 좋지만 OpenVPN의 경우 보안을 잃지 않고 궁극적으로 중개자를 신뢰하도록 지시할 수 있습니다.gdig2.crt
대신에 하위 명령의 또 다른 형태를 verify
사용하는 것입니다 .CApath
CAfile
$ openssl verify -CApath /etc/ssl/certs /path/to/server.cert
경로는 CApath
신뢰할 수 있는 모든 발급자(중간 CA 및 루트 CA 포함)의 여러 인증서가 포함된 디렉터리여야 하며 c_rehash /path/to/directory/
패키지가 설치되어 있는 경우 배포판에서 이 작업을 수행할 수 있습니다 ca-certificates
.
인증 실패 알림
openssl
0.9.x와 1.0.x 사이에는 비호환성이 있습니다. 인증서를 확인해야 한다고 생각하지만 그렇지 않은 경우 0.9.x 버전을 사용하고 있는 것일 수 있습니다 openssl
. 1.0.x 콘텐츠를 찾아 다시 시도하세요.
답변2
인증서의 "신뢰할 수 있는 정보 액세스" 섹션을 확인하세요. 다운로드할 CA를 알려줍니다. 그런 다음 인증서를 검증하여 누가 발행했는지 확인하고 체인을 계속 이어갈 수 있습니다.