OpenSSL ์์ ASN.1 ์ธ์ฝ๋ ๋์ฝ๋ ์์ฑ์ ๋จผ์ ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ํ๊ณ ASN.1 ์ธ์ฝ๋ฉ ๋์ฝ๋ฉ์ ์ฌ์ฉํ๋ค.
์ด๋ ๊ตฌ์กฐ์ฒด ๋ณ์์์ ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด ASN1_SIMPLE ๋ฅผ ์ฌ์ฉํ๊ณ ํฌ์ธํฐ๊ฐ ์๋๋ฉด ASN1_EMBED ๋ฅผ ์ฌ์ฉ ํ๋ค.
์๋ ์์ ๋ฅผ ๋ฅผ ๋ณด์
/*
Signature ::= SEQUENCE {
signatureAlgorithm AlgorithmIdentifier,
signature BIT STRING,
certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
*/
struct ocsp_signature_st {
X509_ALGOR signatureAlgorithm;
ASN1_BIT_STRING *signature;
STACK_OF(X509) *certs;
}OCSP_SIGNATURE;
์ด๋ ๊ฒ ์ ์๋ ๊ตฌ์กฐ์ฒด์์ signatureAlgorithm ์ ์ผ๋ฐ ๊ตฌ์กฐ์ฒด ๋ณ์์ด๊ณ signature ๋ ํฌ์ธํฐ ๋ณ์ ์ด๋ค.
๊ทธ๋ผ ASN.1 ์ธ์ฝ๋ฉ/๋์ฝ๋ฉ ๊ตฌํ์ ์๋์ ๊ฐ๋ค.
ASN1_SEQUENCE(OCSP_SIGNATURE) = {
ASN1_EMBED(OCSP_SIGNATURE, signatureAlgorithm, X509_ALGOR),
ASN1_SIMPLE(OCSP_SIGNATURE, signature, ASN1_BIT_STRING),
ASN1_EXP_SEQUENCE_OF_OPT(OCSP_SIGNATURE, certs, X509, 0)
} ASN1_SEQUENCE_END(OCSP_SIGNATURE)
์ฌ๊ธฐ์ ๋ณด๋ฉด signatureAlgorithm ์ ASN1_EMBED(OCSP_SIGNATURE, signatureAlgorithm, X509_ALGOR)
๊ทธ๋ฆฌ๊ณ ASN1_SIMPLE(OCSP_SIGNATURE, signature, ASN1_BIT_STRING) ๋ ์ด๋ ๊ฒ ์ฌ์ฉํ๋ค.
OpenSSL ์ ํน๋ณํ ASN.1 ์ปดํ์ผ์ ์ฌ์ฉํ์ง๋ ์๊ณ ๋งคํฌ๋ก๋ฅผ ์ด์ฉํด ASN.1 ์ธ/๋์ฝ๋๋ฅผ ์ง์ ํ๋ค.
๊ทธ์ค์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ธ ASN1_EMBED ์ ASN1_SIMPLE ์ ๋ํด ์์ ๋ณด์๋ค.
'Development' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
KMIP ์ ์ฌ์ฉ ๋๋ TTLV ํฌ๋งท (0) | 2024.07.10 |
---|---|
QT ๋ฐ ์๋์ฐ ๊ฐ๋ฐ(MSYS2) ํ๊ฒฝ ์ค์ (0) | 2024.03.06 |
URI ์ URL ์ ๋ํ ๊ฐ๋ ์ ๋ฆฌ (0) | 2023.12.20 |
QT ๋ฆฌ๋ ์ค Deploy ๋ฐฉ๋ฒ (0) | 2023.11.20 |
Qt5 ์์ Qt6 ๋ณ๊ฒฝ ์์ ๋ด์ฉ (0) | 2023.10.06 |