[OpenSSL] OCSP μ TSP λͺ λ Ήμ΄
OCSP λ RFC2560 μμ μ μ λ Online Certificate Status Protocol μ μ½μμ΄λ€.
TSP λ RFC3161 μμ μ μ λ Time Stamp Protocol μ μ½μμ΄λ€.
OpenSSL μμ μΈμ¦μ μν μ 보 νλ‘ν μ½μΈ OCSP κ΄λ ¨ λ©λ΄μΌ
https://www.openssl.org/docs/man3.0/man1/openssl-ocsp.html
νμμ€ν¬ν κ΄λ ¨ λ©λ΄μΌ
https://www.openssl.org/docs/man3.0/man1/openssl-ts.html
OCSP ( Online Certificate Status Protocol )
OCSP Request μμ±
openssl ocsp -issuer ECDSA_CA.crt -cert CMS_Signer.crt -reqout ocsp-req.ber
OCSP μΈμ¦μ κ²μ¦
μμμ μμ±ν ocsp-req.ber νμΌμ μ½μ΄μ -url λ‘ μ§μ λ OCSP μλ²μκ² κ²μ¦ μμ²
openssl ocsp -reqin ocsp-req.ber -text -url http://ocsp.test.com:8080/ocsp
κ²μ¦ν μΈμ¦μλ₯Ό μ½μ΄μ κ²μ¦ μμ²
openssl ocsp -issuer ECDSA_CA.crt -cert CMS_Signer.crt -text -url http://ocsp.test.com:8080/ocsp
OCSP Reuqest μ 보 보기
openssl ocsp -reqin ocsp-req.ber -text
OCSP Request μ 보 κ²°κ³Ό
OCSP Request Data:
Version: 1 (0x0)
Requestor List:
Certificate ID:
Hash Algorithm: sha1
Issuer Name Hash: B16FA4BFB9B4ECE5D00CB47BE64CB710BFEFB3EC
Issuer Key Hash: 613273786D3E2FEC12ADAF15524AF02B79B0EE11
Serial Number: 0BC6CA62C4BD687B
Request Extensions:
OCSP Nonce:
0410563B7D447966E7140E57FD776BAF0C7F
TSP ( Time Stamp Protocol )
TSP λͺ λ Ήμ΄λ₯Ό μ¬μ©νκΈ° μ μ openssl.cnf νμΌμ μ€μ μ΄ λμ΄μΌ νλ€.
openssl.cnf μ TSP κ΄λ ¨ μ€μ
[ tsa ]
default_tsa = tsa_config1 # the default TSA section
[ tsa_config1 ]
# These are used by the TSA reply generation only.
dir = /d/pvd_certs/xca # TSA root directory
serial = $dir/tsaserial # The current serial number (mandatory)
crypto_device = builtin # OpenSSL engine to use for signing
signer_cert = $dir/OCSP_TSA.crt # The TSA signing certificate
# (optional)
certs = $dir/chain.crt # Certificate chain to include in reply
# (optional)
signer_key = $dir/OCSP_TSA_pri.pem # The TSA private key (optional)
signer_digest = sha256 # Signing digest to use. (Optional)
default_policy = tsa_policy1 # Policy if request did not specify it
# (optional)
other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)
digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory)
accuracy = secs:1, millisecs:500, microsecs:100 # (optional)
clock_precision_digits = 0 # number of digits after dot. (optional)
ordering = yes # Is ordering defined for timestamps?
# (optional, default: no)
tsa_name = yes # Must the TSA name be included in the reply?
# (optional, default: no)
ess_cert_id_chain = no # Must the ESS cert id chain be included?
# (optional, default: no)
ess_cert_id_alg = sha1 # algorithm to compute certificate
# identifier (optional, default: sha1)
TS μμ±
openssl ts -query -data mydata.txt -no_nonce -sha1 -out design1.tsq
TS μ 보 Print
openssl ts -query -in design1.tsq -text
TS μ 보 λ©μΈμ§ 보기
Version: 1
Hash Algorithm: sha1
Message data:
0000 - f5 72 d3 96 fa e9 20 66-28 71 4f b2 ce 00 f7 2e .r.... f(qO.....
0010 - 94 f2 25 8f ..%.
Policy OID: unspecified
Nonce: unspecified
Certificate required: no
Extensions:
TSAμ TSP μ©μ΄λ₯Ό νΌν© νμ¬ μ¬μ©νλ κ²½μ°κ° λ§μλ°
TSA λ Time Stamp Authority μ μ½μλ‘μ νμμ€ν¬ν κΈ°κ΄μ΄λΌλ λ»μΌλ‘ 보λλ°
μ¬μ€ TSAμμ μ¬μ©νλ λ©μΈμ§ νλ‘ν μ½μ΄ TSP μ΄λ€.