PKCS#12 ๋ Personal Information Exchange Syntax ๋ก์ RFC7292 ์ ์ ์ ๋ ํ์ค ํฌ๋งท์ด๋ค.
P12 ํ์ฅ์ ๋๋ pfx ํ์ฅ์ ํ์ผ ์ฒ๋ฆฌ์ ๋ํ OpenSSL ๋ช
๋ น์ด ์ฌ์ฉ๋ฒ์ด๋ค.
์ด ๋ช
๋ น์ด์ ๋ํ Man ํ์ผ ๋งํฌ๋ ์๋์ ๊ฐ๋ค
https://www.openssl.org/docs/man3.0/man1/openssl-pkcs12.html
PKCS#12 ํ์ผ ์์ฑ
openssl pkcs12 -export -in ecdsa_cert.pem -inkey ecdsa_private_key.pem -out file.p12 -name "My Certfiicate" -passout pass:asdf
์๋์ฐ ๊ฒฝ์ฐ์๋ -passout pass:์ํธ ๊ฐ์ ์ฃผ์
์ ์ด๋ ๊ฒ ์ฃผ์ด์ผ ํ์ง๋ง
์๋์ฐ๊ฐ ์๋ ๋ค๋ฅธ ํ๊ฒฝ์์๋ -passout ์ต์
์ ์์ฃผ์ด๋ ๋๋ค.
๊ทธ ๋๋ ํ๋ฉด์ ์
๋ ฅํ๋ ๋ฉ์ธ์ง๊ฐ ๋จ๋๋ฐ ๊ทธ ๋ ์
๋ ฅํด ์ฃผ๋ฉด ๋๋ค.
์ด P12 ํฌ๋งท์ ๋ํ ASN.1 ๋ค์๊ณผ ๊ฐ๋ค.
-- ============================
-- The PFX PDU
-- ============================
PFX ::= SEQUENCE {
version INTEGER {v3(3)}(v3,...),
authSafe ContentInfo,
macData MacData OPTIONAL
}
MacData ::= SEQUENCE {
mac DigestInfo,
macSalt OCTET STRING,
iterations INTEGER DEFAULT 1
-- Note: The default is for historical reasons and its use is
-- deprecated.
}
์์ฑํ file.p12 ํ์ผ์ BerEditor ๋ก Decodeing ํ ํ๋ฉด์ด๋ค.
์ถ๊ฐ ์ธ์ฆ์ ํฌํจ ์์ฑ
openssl pkcs12 -export -in ecdsa_cert.pem -inkey ecdsa_private_key.pem -out file.p12 -name "My Certfiicate" -passout pass:asdf -certfile more_cert.pem
-certfile : ์ถ๊ฐํ ์ธ์ฆ์ ํ์ผ ๊ฒฝ๋ก
P12 ๋ด ์ธ์ฆ์๋ฅผ ํ์ผ๋ก ์ ์ฅ (-clcerts -nokeys)
openssl pkcs12 -in file.p12 -clcerts -nokeys -out file.crt
P12 ๋ด ๊ฐ์ธํค๋ฅผ ํ์ผ๋ก ์ ์ฅ
openssl pkcs12 -in file.p12 -nocerts -out file.key
P12 ๋ด ๊ฐ์ธํค์ pass phrase ๋ฅผ ์ ์ฉํ์ง ์๊ณ ํ์ผ๋ก ์ ์ฅ
openssl pkcs12 -in file.p12 -out file.pem -nodes
P12 ์ ๋ณด ์ถ๋ ฅ
openssl pkcs12 -info -in file.p12
์ด๋ ํจ์ค์๋ ์
๋ ฅ์ ๋๋ฒ ๋ฐ๊ฒ ๋๋ ๋ฐ ์ฒซ๋ฒ์งธ๋ P12 ํ์ผ์ ๋ํ ํจ์ค์๋์ด๊ตฌ ๋๋ฒ์งธ๋ ๊ฐ์ธํค ์ํธ ํจ์ค์๋์ด๋ค.
ํ์ฌ ์๋์ฐ ํ๊ฒฝ์ ํจ์ค์๋ ์
๋ ฅ๊ณผ ๊ด๋ จํด์๋ ์ฒ๋ฆฌ๊ฐ ์ ์๋๋๊ฑฐ ๊ฐ๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ธ์ฆ์์ ๊ฐ์ธํค๋ฅผ ๊ฐ์ด ๋ฌถ์ด์ ์ฌ์ฉ ํ ๋ p12 ๋๋ pfx ๋ผ๋ ํ์ฅ์๋ฅผ ์ฌ์ฉํ๋
PKCS#12 ํ์ค์ ๋ฐ๋ผ ๋ง๋ค์ด์ง ํ์ผ์ ์ฌ์ฉ ํ๋ค๊ตฌ ๋ณด๋ฉด ๋๋ค.
'Manual > OpenSSL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OpenSSL] RSA์ฉ RootCA ์์ฑ ๋ฐ SSL ์ธ์ฆ์ ๋ง๋ค๊ธฐ (0) | 2023.04.07 |
---|---|
[OpenSSL] OCSP ์ TSP ๋ช ๋ น์ด (0) | 2023.04.07 |
[OpenSSL] CMS ( Cryptographic Message Syntax ) ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ (3) | 2023.04.06 |
[OpenSSL] RSA ๊ฐ์ธํค (PrivateKey) ์์ฑ ๋ช ๋ น์ด (0) | 2023.04.06 |
[OpenSSL] ECDSA ์ฉ Self-Sign ์ธ์ฆ์ ๋ง๋ค๊ธฐ (0) | 2023.04.05 |