You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.6 KiB
2.6 KiB
고객사 설치용 RootCA/Intermediate 인증서 생성
0) 폴더 구조(권장)
pki/
root/
intermediate/
1) Root CA 만들기 (1회, 오프라인 보관 권장)
1-1) Root 개인키 생성 (암호화 권장)
mkdir -p pki/root
cd pki/root
openssl genrsa -aes256 -out rootca-kdn.key 4096
(Enter PEM pass phrase: 백세민1!)
1-2) Root 인증서(자기서명) 생성
openssl req -x509 -new -nodes -key rootca-kdn.key -sha256 -days 3650 -subj "/C=KR/O=BSM-LAB/CN=BSM-LAB KDN Root CA" -out rootca-kdn.crt
(Enter pass phrase for rootca-kdn.key: 백세민1!)
RootCA
rootca.key파일은 bsm-lab 고객관리 서버에 저장
2) Intermediate CA 만들기 (고객사별로 1개씩 권장)
2-1) Intermediate 개인키 생성
mkdir -p ../intermediate
cd ../intermediate
openssl genrsa -aes256 -out intermediate-kdn.key 4096
(Enter PEM pass phrase: 백세민1!)
2-2) Intermediate CSR 생성
openssl req -new -key intermediate-kdn.key -subj "/C=KR/O=BSM-LAB/CN=BSM-LAB KDN Intermediate CA" -out intermediate-kdn.csr
2-3) Root로 Intermediate 인증서 서명
v3_intermediate_ca 확장(Constraints/KeyUsage) 작성 root-ext-kdn.cnf
(root-ext.cnf)
[ v3_intermediate_ca ]
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, keyCertSign, cRLSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
이제 Root로 서명:
# root 폴더로 돌아가 Root 키/인증서로 서명
cd ../root
openssl x509 -req -in ../intermediate/intermediate-kdn.csr -CA rootca-kdn.crt -CAkey rootca-kdn.key -CAcreateserial -out ../intermediate/intermediate-kdn.crt -days 1825 -sha256 -extfile root-ext-kdn.cnf -extensions v3_intermediate_ca
이후 intermediate-kdn.srl 파일이 생성됨 이는 -CAcreateserial 옵션에 따른 결과로 다음 발급할 인증서에 쓸 serial 값이 저장되어 있음. serial이 중복되지 않도록 하는 역할임
2-4) CA 체인 파일 만들기
고객사 설치용 CA 체인 생성. 추후 truststore 저장
cat ../intermediate/intermediate-kdn.crt rootca-kdn.crt > ../intermediate/ca-chain-kdn.crt
type ..\intermediate\intermediate-kdn.crt rootca-kdn.crt > ..\intermediate\ca-chain-kdn.crt
3) 다음 단계(참고): leaf(에이전트/웹서버) 발급은 Intermediate로
이후 leaf 인증서 발급 순서
- (에이전트/웹서버) 개인키 생성
- CSR 생성(CN/SAN 포함)
- Intermediate로 서명해서 leaf cert 발급
leaf cert + private key는 keystore(p12),ca-chain은 truststore에 저장