본문으로 건너뛰기

JWT 생성기

직접 입력한 JSON 클레임으로 서명된 JSON Web Token을 만드세요. 공유 비밀 키를 사용하는 HS256, HS384 또는 HS512, RSA 개인 키를 사용하는 RS256~PS512, 해당 EC 키를 사용하는 ES256~ES512, 또는 PEM이나 JWK 형식의 Ed25519 키를 사용하는 EdDSA를 선택할 수 있습니다. 생성기는 iat, exp 및 kid 헤더를 추가하고 jose 라이브러리로 서명한 다음, 컴팩트 토큰과 디코딩된 헤더 및 페이로드를 나란히 표시합니다.

초기화

자주 묻는 질문

어떤 서명 알고리즘을 사용할 수 있나요?

생성기는 공유 비밀 키를 사용하는 HS256, HS384, HS512, RSA 개인 키를 사용하는 RS256, RS384, RS512, PS256, PS384, PS512, P-256, P-384 또는 P-521의 EC 개인 키를 사용하는 ES256, ES384, ES512, 그리고 Ed25519 개인 키를 사용하는 EdDSA를 지원합니다. 선택한 알고리즘은 alg 헤더에 기록되며, typ은 항상 JWT으로 설정됩니다.

페이로드에는 무엇을 입력하나요?

클레임이 포함된 JSON 객체를 입력하세요. 예를 들어 sub, name, iss, aud 또는 직접 만든 멤버를 입력할 수 있습니다. 객체가 아닌 배열, 문자열 등의 값은 거부됩니다. JWT 페이로드는 JSON 객체여야 하기 때문입니다. 클레임의 순서와 값은 입력한 그대로 유지됩니다.

HMAC 비밀 키는 어떻게 읽나요?

HS256, HS384, HS512에서는 앞뒤 공백을 제거한 뒤 비밀 키를 UTF-8 텍스트로 사용합니다. 비밀 키가 바이너리라면 바이트를 base64url로 인코딩해 {"kty": "oct", "k": "..."}와 같은 JWK로 붙여넣으세요. 디코딩된 바이트가 사용됩니다. 공개 키를 HMAC 비밀 키로 사용하는 것은 흔한 실수이므로 HMAC 알고리즘에는 PEM 키를 사용할 수 없습니다.

HS256 비밀 키는 얼마나 길어야 하나요?

RFC 7518에서는 해시 출력 길이 이상의 키를 요구합니다. 따라서 HS256은 32바이트, HS384는 48바이트, HS512는 64바이트가 필요합니다. 이 도구는 테스트 토큰을 재현할 수 있도록 더 짧은 비밀 키로도 서명하지만, 프로덕션에서는 예를 들어 비밀번호 생성기로 만든 길고 무작위적인 값을 사용해야 합니다.

RSA, EC, EdDSA에서 사용할 수 있는 개인 키 형식은 무엇인가요?

암호화되지 않은 PEM 개인 키를 PKCS #8 (BEGIN PRIVATE KEY), PKCS #1 (BEGIN RSA PRIVATE KEY) 또는 SEC1 (BEGIN EC PRIVATE KEY) 형식으로 붙여넣거나, d 멤버가 포함된 개인 JWK를 붙여넣으세요. 암호화된 PEM 파일과 OpenSSH 개인 키는 읽을 수 없습니다. 키는 알고리즘에 맞아야 합니다. 따라서 ES384에는 P-384 키가 필요하고, RSA 키는 최소 2048비트여야 합니다.

iat와 exp는 어떻게 설정되나요?

발급 시각 옵션을 켜면 페이로드에 iat 클레임이 이미 없는 경우 iat가 현재 시간으로 설정됩니다. 만료 시간이 0초보다 크면 현재 시간에 해당 초를 더한 값으로 exp가 설정되어 페이로드에 있는 exp를 대체합니다. 만료 시간이 0이면 exp를 추가하지 않으며 페이로드의 exp를 그대로 유지합니다.

kid 필드는 어떤 용도인가요?

비어 있지 않은 키 ID는 kid 헤더에 기록되어 검증기가 JWKS에서 올바른 키를 선택할 수 있게 합니다. 서명 키로 JWKS를 붙여넣으면 kid로 세트에서 토큰에 서명할 키도 선택합니다. JWK 변환기와 키 생성기에는 RFC 7638 지문이 표시되며, 이를 kid로 사용하면 좋습니다.

결과에 무엇이 포함되나요?

컴팩트 토큰, 알고리즘, 키 ID, UTC 형식의 발급 시각 및 만료 시각, 그리고 서명에 사용된 정확한 헤더와 페이로드 JSON를 확인할 수 있습니다. 첫 번째 블록에서 토큰을 복사하세요. 나중에 JWT 디코더로 다시 디코딩하거나 JWT 검증기로 확인할 수 있습니다.

비밀 키나 키가 저장되나요?

아니요. 비밀 키나 개인 키는 토큰 서명 요청에만 포함되어 전송되고, 메모리에서 한 번 사용된 뒤 로그에 기록되거나 저장되지 않습니다. 그래도 테스트용 키를 사용하고, 서버를 직접 관리하지 않는 웹 도구에는 프로덕션 서명 키를 붙여넣지 마세요.

파일 크기 제한이 있나요?

페이로드는 최대 65,536자, 키는 최대 65,536자, kid는 최대 256자까지 입력할 수 있습니다. 만료 시간은 0초부터 315,360,000초까지이며, 이는 10년입니다. 더 긴 입력은 해당 필드 이름을 안내하는 메시지와 함께 거부됩니다.

OneClick Pro 소개

OneClick Pro은 일상 업무에 활용할 수 있는 150개 이상의 웹 도구를 무료로 모아 제공합니다. 이미지와 단위를 변환하고, 코드를 포맷하고 검증하고, 도메인과 SEO를 확인하고, 텍스트와 날짜, 숫자를 다룰 수 있습니다. 모든 도구는 가입이나 구독 없이 사용할 수 있으며, 입력한 내용은 결과를 계산하는 데만 사용되고 저장되지 않습니다. 한 번 쓰는 작업을 위한 빠른 도구 모음으로 활용하거나, 매일 자주 쓰는 도구를 북마크해 두세요.