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

절차: 사설 인증서 트리 만들기

  1. 루트 CA 생성(모드: 자체 서명, 프로파일: CA).
    생성된 root.crt(DER)와 private.key를 저장한다.
  2. 서버 인증서 발행(모드: CA 서명, 프로파일: Server).
    CA 인증서 파일에는 root.crt, CA 비밀키 파일에는 private.key를 지정한다.
    SAN에 대상 DNS/IP를 입력한 뒤 생성을 누른다.
    출력된 cert.crt(서버)와 private.key(서버)를 사용한다.
  3. root.crt를 클라이언트 신뢰 스토어에 가져오고(Firefox는 독자 스토어),
    서버에는 서버 인증서와 서버 비밀키를 배치하며 필요 시 체인을 함께 둔다.

주의 사항

  • CA 플래그(basicConstraints=CA)는 keyUsage의 keyCertSign과 함께 사용한다.
  • 루트 CA 비밀키는 오프라인 보관이 원칙이다.
  • 암호화된 PKCS#8(BEGIN ENCRYPTED PRIVATE KEY)은 지원하지 않는다.