본문으로 건너뛰기
JWT & keys

JWKS 생성기

RSA 2048bit 키 쌍을 생성하고 kid 값을 관리하며, 공개키만 포함된 JWKS(JSON Web Key Set)를 만들 수 있습니다.
생성된 개인키로 RS256 서명 JWT를 생성하고, 페이로드를 확인한 뒤 결과를 한 번에 복사할 수 있습니다.

가이드: 사용 방법 및 특징

  • 필요하다면 kid를 입력한 뒤 “2048비트 RSA 키 생성”을 클릭하여 키와 JWKS를 만드세요.
  • 공개 키는 JWKS(JSON Web Key Set)로 복사할 수 있으며 개인 키는 PKCS#8 PEM 형식으로 유지됩니다.
  • payload JSON을 수정한 후 “JWT 생성”을 누르면 RS256으로 서명된 토큰이 만들어집니다.

샘플: 입출력 예시

Publish an RSA key

입력 예시

Algorithm: RS256
Key ID: demo-key

출력 예시

{
  "keys": [
    {
      "kty": "RSA",
      "kid": "demo-key",
      "alg": "RS256",
      "use": "sig",
      "n": "u0fKsY6LQyqQy1vny7H2X7bqY7HWe8soT0x6XPrmT5w",
      "e": "AQAB"
    }
  ]
}

FAQ: 자주 묻는 질문

  • kid가 일치하는 키만 뽑을 수 있나요?

    네. 원하는 kid를 선택하면 해당 키만 PEM 형식으로 추출할 수 있습니다.
  • 어떤 용도로 사용할 수 있나요?

    JWT 검증에 필요한 공개키를 가져오거나, JWKS에서 특정 키만 추출해 재사용할 때 유용합니다.
  • 데이터가 서버로 전송되나요?

    아니요. 파싱과 변환은 모두 브라우저에서 처리됩니다.

활용: 주요 활용 사례

  • Validating key sets

    Fetch JWKS endpoints to inspect kid and alg values and confirm the expected signing algorithms.

  • Checking rotation status

    See whether old and new keys coexist to catch timing gaps between issuers and verifiers.

  • Sharing debug details

    Format the fetched JSON for teammates when troubleshooting integrations with external IdPs.

주의: 주의사항 및 제한

  • 브라우저 안에서만 처리

    입력과 출력은 기기 안에 머무릅니다. 탭을 닫거나 캐시를 삭제하면 임시 상태가 초기화됩니다.

  • 중요 데이터는 검증 필수

    결과는 보조 용도이므로 운영 환경에 넣기 전에 반드시 내용을 확인하고 필요한 검증을 수행하세요.

  • 큰 데이터는 기기 성능에 영향

    매우 큰 텍스트나 파일은 일부 브라우저에서 느려질 수 있습니다. 무거운 작업은 데스크톱 사용을 권장합니다.

모든 처리는 브라우저 안에서만 이루어지며 외부로 전송되지 않습니다.

현재 kid -

JWKS에는 공개키만 포함됩니다.

RS256 서명은 생성된 개인키를 사용합니다.

JWKS 생성기

JWT, RS256, token 검증 흐름을 테스트하기 위한 JWKS와 키 자료를 생성합니다. 개발 환경, 인증 문서, integration test를 준비할 때 유용합니다.

자주 쓰는 상황

  • JWT 검증 테스트: RS256 기반 검증 데이터를 만듭니다.
  • 인증 문서 작성: JWKS 예시를 기술 문서에 포함합니다.
  • 로컬 환경 구성: 외부 provider 없이 테스트 키를 사용합니다.

생성한 private key나 민감한 암호 자료를 공개 저장소나 문서에 포함하지 마세요.

이 도구의 관련 기사

최신 아티클

활용 사례
2026-08-07

curl 옵션 정리|-X -H -d 가 실제로 하는 일과 함정

실무에서 만나는 curl 옵션을 표로 정리했습니다. -d 만으로 이미 POST가 되는 이유, -d 와 --data-raw 의 차이, 앞의 @ 가 조용히 파일을 읽는 함정, 작은따옴표와 큰따옴표의 구분, -k 와 -L 을 쉽게 붙이면 안 되는 이유까지 예제로 설명합니다.

도구 소개
2026-08-06

JSON Schema와 Zod를 상호 변환하는 원리|required와 .optional()의 대응

JSON Schema에서 Zod 스키마를 만들고 Zod 코드에서 다시 JSON Schema를 뽑아내는 양방향 변환기의 구현을 해설합니다. required와 .optional()의 기본값이 반대인 문제, 제약 조건 대응표, 코드를 실행하지 않고 해석하는 방법까지 정리합니다.

활용 사례
2026-08-06

SQL 절 실행 순서 레퍼런스|WHERE에서 SELECT 별칭을 못 쓰는 이유

SQL은 작성한 순서대로 실행되지 않습니다. 논리적 실행 순서(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT)를 축으로, 별칭이 WHERE에서 안 되는 이유, WHERE와 HAVING의 구분, ONLY_FULL_GROUP_BY, COUNT(*)와 COUNT(컬럼)의 차이, LEFT JOIN + WHERE 함정을 예제로 정리합니다.

활용 사례
2026-08-06

unified diff 형식 읽는 법|git diff의 @@ 헤더 완전 해설

git이 출력하는 unified diff 형식을 읽는 법을 정리했습니다. @@ -12,7 +12,9 @@ 의 네 숫자가 뜻하는 것, 한 글자만 고쳐도 줄 전체가 바뀐 것처럼 보이는 이유, 공백과 줄바꿈 문자의 함정, \ No newline at end of file, 머지 커밋의 @@@, similarity index를 통한 이름 변경 감지까지 예제로 설명합니다.

활용 사례
2026-08-06

UTC⇄JST/KST 변환 레퍼런스|9시간 시차 대조표와 타임존 사고 예방법

UTC와 일본 시간(JST)·한국 시간(KST)의 변환을 대조표로 정리했습니다. ISO 8601의 Z와 +09:00의 의미, JavaScript 날짜 파싱이 9시간 어긋나는 조건, MySQL/PostgreSQL의 타임존 동작, GitHub Actions cron이 UTC로 도는 함정까지 예제와 함께 해설합니다.

활용 사례
2026-08-04

CREATE TABLE 레퍼런스|MySQL·PostgreSQL·SQLite의 타입과 제약 조건 차이

CREATE TABLE(DDL) 작성법을 3개 데이터베이스 비교표로 정리했습니다. 타입 대응표, 자동 증가(AUTO_INCREMENT / IDENTITY / rowid)의 방언 차이, 외래 키의 ON DELETE 동작, MySQL이 조용히 무시하는 CHECK 제약까지 예제와 함께 해설합니다.

광고

광고