JWK 키 변환기 🔒 브라우저에서 로컬로 실행 — 아무것도 업로드되지 않습니다.

RSA/EC 키를 PEM과 JWK(JSON Web Key) 형식 간에 변환하세요.

출력
 

이 도구에 대해

JSON Web Key(JWK)는 JWT 라이브러리, JWKS 엔드포인트(/.well-known/jwks.json), 여러 웹 API에서 사용하는 암호화 키의 JSON 표현입니다. PEM은 대부분의 암호화 도구, 서버, 인증 기관이 여전히 사용하는 더 오래된 Base64로 감싼 텍스트 형식입니다. 이 도구는 브라우저가 이미 TLS에 신뢰하는 것과 동일한 WebCrypto 엔진을 사용하여 브라우저 안에서만 두 형식을 완전히 변환합니다.

방향을 선택한 다음, 변환하려는 키와 일치하는 키 유형(RSA 또는 타원곡선 P-256/P-384)과 용도(서명 대 암호화)를 선택하세요 — WebCrypto가 바이트를 올바르게 해석하려면 이 정보가 필요합니다. 공개 키는 d 필드가 없는 JWK로 변환됩니다. 개인/키 쌍 PEM(PKCS#8)은 n/e/d(RSA) 또는 x/y/d(EC)가 있는 JWK를 생성합니다. 암호화되지 않은 PKCS#8 개인 키와 SPKI 공개 키만 지원됩니다 — 이전 PKCS#1(RSA PRIVATE KEY) 또는 암호로 보호된 PEM은 먼저 PKCS#8로 변환해야 합니다(예: openssl pkcs8 사용).

자주 묻는 질문

JWKS 엔드포인트란 무엇이며 왜 필요한가요?

JWKS(JSON Web Key Set) 엔드포인트는 인증 제공자(예: OAuth/OIDC 아이덴티티 제공자)가 JWT에 서명하는 데 사용하는 공개 키를 JWK 형식으로 게시하는 URL(흔히 `/.well-known/jwks.json`)로, 신뢰 당사자가 이를 가져와 토큰 서명을 검증하는 데 사용할 수 있습니다. 자체 토큰 발급자를 설정하는 경우, 서명 키의 공개 부분을 JWK로 변환하여 그곳에 게시하게 됩니다.

왜 변환이 가져오기 오류로 실패하나요?

가장 흔한 원인은 키 유형 또는 용도 선택기가 일치하지 않는 것입니다 — 예를 들어 실제로는 RSA인 키에 "EC P-256"을 선택하거나, 서명용으로 생성된 키에 "암호화"를 선택하는 경우입니다. WebCrypto는 실제 키 자료에 대해 알고리즘을 엄격하게 검증하므로, 선택기가 키가 원래 생성된 목적과 일치하는지 다시 확인하세요.