X.509 인증서 생성기 (자체 서명/CA 서명, 파일 읽기 지원)
이 도구에 대하여
브라우저(Web Crypto API)만으로 RSA 키를 생성해 자체 서명 인증서와 기존 CA 비밀키로 서명하는 CA 서명 인증서를 발급한다.
- 키 종류: RSA 2048 / 3072(RSASSA-PKCS1-v1_5 + SHA-256)
- Subject(CN, O, OU, C, ST, L)은 UTF-8
- SAN(DNS, IP) 지원
- 확장: basicConstraints / keyUsage / extendedKeyUsage / SubjectKeyIdentifier / AuthorityKeyIdentifier
- 출력: 인증서(DER .crt / PEM), 비밀키(PKCS#8 PEM), 번들(PEM)
CA 서명 모드에서는 .crt(DER/PEM)와 .key(PKCS#8 PEM)을 파일에서 바로 읽을 수 있다. 이를 활용하면 사설 루트 인증서를 사내 PC에 신뢰 루트로 설치해 두고, 각 서버 인증서는 별도 설치 없이 발급할 수 있다. 처리는 모두 브라우저에서 이루어지며 데이터는 전송되지 않는다.
프로파일
Subject / Issuer
Subject Alternative Name
Extensions
CA 서명 모드 입력
출력
Serial / Fingerprint
Certificate (PEM)
Private Key (PKCS#8 PEM)
절차: 사설 인증서 트리 만들기
- 루트 CA 생성(모드: 자체 서명, 프로파일: CA).
생성된root.crt
(DER)와private.key
를 저장한다. - 서버 인증서 발행(모드: CA 서명, 프로파일: Server).
CA 인증서 파일에는root.crt
, CA 비밀키 파일에는private.key
를 지정한다.
SAN에 대상 DNS/IP를 입력한 뒤 생성을 누른다.
출력된cert.crt
(서버)와private.key
(서버)를 사용한다. root.crt
를 클라이언트 신뢰 스토어에 가져오고(Firefox는 독자 스토어),
서버에는 서버 인증서와 서버 비밀키를 배치하며 필요 시 체인을 함께 둔다.
주의 사항
- CA 플래그(basicConstraints=CA)는 keyUsage의 keyCertSign과 함께 사용한다.
- 루트 CA 비밀키는 오프라인 보관이 원칙이다.
- 암호화된 PKCS#8(BEGIN ENCRYPTED PRIVATE KEY)은 지원하지 않는다.