광고 영역 (상단 디스플레이)

JWK ↔ PEM 변환기

RSA / EC(P-256·P-384·P-521) 공개키·개인키를 JWK ↔ PEM 양방향 변환합니다. 브라우저의 Web Crypto API SubtleCrypto.importKey/exportKey로 처리되어 키가 외부로 전송되지 않습니다.

1. 변환 방향

2. 키 종류·용도

3. 입력

4. 변환 결과

(변환 후 표시)
광고 영역 (결과 하단)

JWK와 PEM 형식 이해

JWK(JSON Web Key, RFC 7517)는 암호 키를 JSON으로 표현하는 표준입니다. RSA 공개키는 {"kty":"RSA","n":"...","e":"AQAB"} 형식이며, n과 e는 Base64URL로 인코딩된 modulus·exponent입니다. 개인키는 추가로 d·p·q·dp·dq·qi가 들어갑니다. EC 키는 {"kty":"EC","crv":"P-256","x":"...","y":"..."}이며 개인키는 d를 더 포함합니다.

PEM은 ASN.1 DER 바이너리를 Base64로 감싸 텍스트화한 형식으로, -----BEGIN PUBLIC KEY-----·-----END PUBLIC KEY-----로 둘러쌉니다. 공개키는 SPKI(SubjectPublicKeyInfo), 개인키는 PKCS#8(BEGIN PRIVATE KEY)이 가장 일반적인 형식입니다. 본 도구는 SPKI/PKCS#8만 다룹니다. PKCS#1(BEGIN RSA PUBLIC KEY)은 표준에서 권장되지 않으므로 OpenSSL로 미리 변환해 주세요.

지원 알고리즘

변환 후 확인

OpenSSL로 PEM의 유효성을 확인할 수 있습니다.

자주 묻는 질문 (FAQ)

Q. 새 키를 만들고 싶어요.

A. "새 키 쌍 생성" 버튼을 누르면 선택한 알고리즘·곡선으로 키 쌍을 만든 뒤 JWK·PEM을 함께 출력합니다. 테스트 용도로만 사용하세요.

Q. PKCS#1 RSA 키도 지원하나요?

A. Web Crypto API가 SPKI/PKCS#8만 지원하므로, PKCS#1은 먼저 openssl rsa -in pkcs1.pem -RSAPublicKey_in -pubout로 SPKI로 변환해 사용하세요.

Q. 키가 외부로 전송되나요?

A. 모든 변환은 브라우저 내에서 수행되며 네트워크 요청이 발생하지 않습니다. localStorage에도 저장되지 않습니다.