Manual/OpenSSL

[OpenSSL] x509 명령어

JayKim🙂 2023. 5. 20. 10:13

이명령어는 다양한 목적으로 인증서를 다루는 명령어이다.
https://www.openssl.org/docs/man3.0/man1/openssl-x509.html 이 설명서를 참조 해서 만들었다.

PEM 형식의 인증서 정보 보기 출력

openssl x509 -text -noout -in test_cert.crt

DER 형식의 인증서 정보 보기 결과

openssl x509 -inform der -noout -text -in test_cert.der

결과 화면

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            53:14:62:20:a1:a5:29:73
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: C = KR, O = Ranix, OU = Devel, CN = ECDSA_RootCA
        Validity
            Not Before: Apr  3 08:42:00 2023 GMT
            Not After : Apr  3 08:42:00 2028 GMT
        Subject: C = KR, O = Ranix, OU = Devel, CN = ECDSA_CA
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:29:59:e9:ea:9d:fa:36:b4:a8:4a:5c:01:30:26:
                    a7:b8:58:5f:14:40:4f:10:0f:3f:62:3f:a1:f2:c7:
                    40:f1:65:2c:33:c3:17:42:3a:01:36:01:9d:ba:d6:
                    68:28:77:9d:a7:47:20:a0:df:cb:08:99:e2:b8:0d:
                    04:09:c9:ec:d3
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:TRUE, pathlen:0
            X509v3 Key Usage: critical
                Digital Signature, Non Repudiation, Certificate Sign, CRL Sign
    Signature Algorithm: ecdsa-with-SHA256
         30:45:02:21:00:80:6b:ea:ac:24:6d:d1:bf:23:62:47:48:3d:
         fe:fa:9e:2a:1d:94:0c:fc:6e:a0:b0:ad:03:e9:24:48:03:6a:
         7a:02:20:49:2d:3f:26:71:68:00:b5:a9:2f:3a:6e:66:6f:51:
         9d:24:1d:bc:b6:8f:31:72:e1:37:05:da:c1:1a:2f:14:04

인증서 파일 형식 변환 DER -> PEM

openssl x509 -inform der -outform pem -out test_cert.pem -in test_cert.der

인증서 파일 형식 변환 PEM -> DER

openssl x509 -inform pem -outform der -out test_cert.der -in test_cert.pem

인증서 파일 ASN.1 파싱 보기

openssl asn1parse -i -in ecdsa_cert.pem

결과 화면은 다음 처럼 나온다

    0:d=0  hl=4 l= 512 cons: SEQUENCE
    4:d=1  hl=4 l= 423 cons:  SEQUENCE
    8:d=2  hl=2 l=   3 cons:   cont [ 0 ]
   10:d=3  hl=2 l=   1 prim:    INTEGER           :02
   13:d=2  hl=2 l=  20 prim:   INTEGER           :3CD2856AA6300D9FF30A0CED0217FD108223B0F4
   35:d=2  hl=2 l=  10 cons:   SEQUENCE
   37:d=3  hl=2 l=   8 prim:    OBJECT            :ecdsa-with-SHA256
   47:d=2  hl=2 l=  86 cons:   SEQUENCE
   49:d=3  hl=2 l=  11 cons:    SET
   51:d=4  hl=2 l=   9 cons:     SEQUENCE
   53:d=5  hl=2 l=   3 prim:      OBJECT            :countryName
   58:d=5  hl=2 l=   2 prim:      PRINTABLESTRING   :KR
   62:d=3  hl=2 l=  19 cons:    SET
   64:d=4  hl=2 l=  17 cons:     SEQUENCE
   66:d=5  hl=2 l=   3 prim:      OBJECT            :stateOrProvinceName
   71:d=5  hl=2 l=  10 prim:      UTF8STRING        :Some-State
   계속 ...

주체자 (subject) 보기

openssl x509 -in newcert.pem -noout -subject

결과 예제)

subject=C = KR, ST = Korea, O = TEST, OU = AAA, CN = BBB

주체 대체 이름(Subject Alternative Name) 보기

openssl x509 -in cert.pem -noout -text

SHA1 지문 값 보기

openssl x509 -sha1 -in newcert.pem -noout -fingerprint

sha1 Fingerprint=40:CA:67:AA:5B:58:7F:FA:19:D9:A5:7D:36:23:32:EB:21:2E:90:BC

'Manual > OpenSSL' 카테고리의 다른 글

[OpenSSL] ca 명령어  (0) 2023.05.24
[OpenSSL] crl 명령어  (0) 2023.05.21
[OpenSSL] pkeyutl 명령어  (0) 2023.05.19
[OpenSSL] asn1parse 명령어  (0) 2023.05.15
[OpenSSL] MAC ( Message Authentication Code ) 명령어  (0) 2023.05.10