UTILS.
100% 브라우저 내 실행
🗝️

RSA / EC 키 쌍 생성기 (PEM 내보내기)

WebCrypto로 브라우저에서 RSA 또는 EC 키 쌍을 생성하고 공개 및 개인 키를 PEM이나 JWK로 내보내세요. 키는 기기를 벗어나지 않습니다.

키는 브라우저에서 로컬로 생성됩니다 — 개인 키는 절대 업로드되지 않습니다.

— 여기에 결과가 표시됩니다 —
— 여기에 결과가 표시됩니다 —

이 도구에 대하여

RSA / EC 키 쌍 생성기는 네이티브 WebCrypto API(crypto.subtle.generateKey)를 사용해 비대칭 키 쌍을 전적으로 브라우저에서 생성한 다음, 설정 파일과 코드에 실제로 붙여넣는 형식으로 내보냅니다. 아무것도 서버로 전송되거나 저장되지 않습니다: 개인 키는 기기에서 생성되어 한 번 표시되고 페이지를 떠나면 폐기됩니다. 이는 SSH 인접 도구, JWT 서명, TLS 실험을 위한 키를 만들거나 공개 키 형식이 어떻게 맞물리는지 배우는 안전한 방법입니다.

RSA의 경우 표준 공개 지수 65537과 함께 2048, 3072, 4096비트의 모듈러스 길이를 선택하고, 키가 서명용(RSASSA-PKCS1-v1_5, SHA-256)인지 암호화용(RSA-OAEP, SHA-256)인지 선택합니다. 타원 곡선 키의 경우 NIST 곡선 — P-256, P-384, P-521 — 을 고르고 서명용(ECDSA)인지 키 합의용(ECDH)인지 선택합니다. 더 큰 RSA 모듈러스와 높은 곡선은 더 강하지만 생성이 느립니다. 특히 RSA-4096은 브라우저에서 몇 초가 걸릴 수 있습니다.

내보내기는 WebCrypto의 exportKey로 이루어집니다: 공개 키는 SubjectPublicKeyInfo(SPKI), 개인 키는 PKCS#8로, base64 인코딩되어 -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY----- 프레임 안에서 줄당 64자로 감쌉니다. 형식 토글을 JWK로 전환하면 JSON Web Key 표현을 대신 얻습니다. 생성이 로컬이고 오프라인이므로 개인 키는 절대 업로드되지 않습니다 — 탭을 닫기 전에 안전한 곳에 복사하세요. 이후에는 복구할 수 없습니다.

자주 묻는 질문

개인 키가 서버로 전송되나요?
아니요. 키는 브라우저의 WebCrypto 엔진으로 로컬에서 생성되어 페이지 내에서 내보내집니다. 개인 키는 기기를 벗어나지 않고 어디에도 저장되지 않으므로, 탭을 닫기 전에 안전한 곳에 복사하세요 — 이후에는 복구할 수 없습니다.
어떤 키 크기나 곡선을 선택해야 하나요?
RSA-2048은 흔한 기준선이고, 3072이나 4096은 생성이 느리고 키가 커지는 대가로 더 큰 여유를 줍니다. EC의 경우 P-256이 빠르고 널리 지원되며, P-384와 P-521은 더 높은 보안 수준을 제공합니다. EC 키는 동등한 강도에서 RSA보다 훨씬 작습니다.
PEM과 JWK 출력의 차이는 무엇인가요?
PEM은 대부분의 서버와 OpenSSL이 기대하는 BEGIN/END 줄로 감싼 base64 DER 형식입니다 — 공개 키는 SPKI, 개인 키는 PKCS#8. JWK는 JavaScript와 JOSE/JWT 라이브러리가 사용하는 JSON Web Key 객체입니다. 둘 다 같은 키 쌍을 기술합니다.
서명 대 암호화 — 무엇이 달라지나요?
키가 생성되는 알고리즘을 선택합니다. RSA 서명은 RSASSA-PKCS1-v1_5를, 암호화는 RSA-OAEP를 사용합니다. EC 서명은 ECDSA를, 키 합의는 ECDH를 사용합니다. 한 목적으로 생성된 키는 그 알고리즘에 묶이므로, 사용 방식에 따라 선택하세요.

더 많은 도구