파일 서명: 서명 및 검증

파일 서명을 검증하고 생성합니다: OpenSSH ssh-keygen -Y, minisign, OpenSSL을 지원하며 PEM, OpenSSH, JWK 형식의 Ed25519, ECDSA P-256/P-384, RSA 키를 사용할 수 있습니다. 파일과 키는 브라우저를 떠나지 않습니다.

입력 내용과 파일은 브라우저 밖으로 전송되지 않습니다

서명 검증

여기에 파일을 놓으세요

또는 기기에서 파일 선택

SSH 서명(-----BEGIN SSH SIGNATURE-----), .minisig 파일, 또는 base64, hex, 바이너리 .sig 파일 형태의 원시 서명.

PEM 공개 키 또는 인증서, OpenSSH .pub, authorized_keys 또는 allowed_signers 줄, JWK/JWKS, minisign 공개 키.

SSH 서명 전용: ssh-keygen의 -n 값(file, git 등).

결과

검증 결과나 새 서명이 여기에 표시됩니다.

이 페이지에서

파일 서명은 모든 크기의 파일에 대해 분리 서명을 검증하고 생성합니다: ssh-keygen -Y의 OpenSSH 서명, minisign .minisig 파일, Ed25519, ECDSA P-256/P-384, RSA 키를 사용하는 OpenSSL 원시 서명. 파일은 브라우저에서 1 MiB 청크 단위로 해시되며, 파일, 키, 암호문은 업로드되지 않습니다.

상세 기능

검증은 다운로드한 릴리스, 백업, 문서를 서명과 대조합니다. 파일을 끌어 놓고 서명을 붙여 넣거나 서명 파일 불러오기를 사용한 뒤 공개 키를 지정하세요. 형식은 자동으로 감지됩니다:

  • OpenSSH 서명(ssh-keygen -Y sign, Git 커밋과 태그에도 사용): 키는 .pub 파일, authorized_keys 줄, allowed_signers 파일일 수 있습니다. 일치하는 줄로 서명자를 보여 주며 namespaces= 제한도 지킵니다. 네임스페이스는 서명할 때 쓴 값(보통 file)과 같아야 합니다. 키가 없어도 서명에 포함된 키로 확인하고 그 지문을 보여 줍니다.
  • minisign .minisig(사전 해시 BLAKE2b 및 레거시): 키 ID와 신뢰된 주석을 확인하므로 위조된 주석도 보고됩니다.
  • openssl dgst -sign 또는 openssl pkeyutl -rawin의 원시 서명: 바이너리, base64, hex. ECDSA는 DER 또는 r‖s, RSA는 PKCS#1 v1.5 또는 PSS, SHA-256/384/512. 키는 PEM(SPKI 또는 PKCS#1), X.509 인증서, OpenSSH 줄, JWK를 사용할 수 있습니다.

서명은 개인 키로 서명을 만듭니다: OpenSSH, PEM(PKCS#8, 암호화된 PKCS#8, EC, RSA) 또는 JWK이며, 암호화된 키에는 암호문을 입력합니다. 형식은 ssh-keygen -Y verify로 읽을 수 있는 SSH 서명(ssh-keygen -Y), 또는 해시, RSA 패딩, ECDSA 인코딩을 지정하는 원시 서명(OpenSSL) 중에서 고르세요. 결과에는 서명, 키 지문, 공개 키, 그리고 ssh-keygen 또는 openssl로 바로 검증할 수 있는 명령이 표시됩니다.

실용적인 예제

릴리스 다운로드 확인: tool-1.4.tar.gz를 끌어 놓고 tool-1.4.tar.gz.sig를 불러온 뒤 프로젝트의 allowed_signers를 붙여 넣으면 서명이 유효합니다와 서명자 [email protected]가 표시됩니다.

minisign: 아카이브를 끌어 놓고 해당 .minisig를 불러온 뒤 프로젝트 페이지의 RW… 공개 키를 붙여 넣으세요. 파일 이름과 타임스탬프가 담긴 신뢰된 주석이 표시됩니다.

OpenSSL: openssl dgst -sha256 -sign key.pem -out data.sig data.bin으로 만든 서명을 public.pem으로 검증합니다. 해시와 패딩은 자동으로 찾아냅니다.

동료를 위한 서명: 내 id_ed25519를 불러오고 네임스페이스 file과 SSH 서명(ssh-keygen -Y) 설정을 그대로 둔 채 파일 서명을 클릭한 뒤, .sig를 allowed_signers 줄과 함께 보내세요.

이 도구 사용 방법

  1. 파일 선택

    파일을 여기에 파일을 놓으세요 영역에 끌어 놓거나 파일 선택을 클릭하세요. 청크 단위로 해시하므로 크기 제한이 없습니다.

  2. 모드 선택

    서명을 확인하려면 검증, 만들려면 서명을 선택하세요.

  3. 서명과 키 입력

    검증에서는 서명과 공개 키를 붙여 넣고, SSH 서명이면 네임스페이스를 확인하세요. 서명에서는 개인 키를 붙여 넣고, 암호화되어 있으면 암호문을 입력한 뒤 서명 형식을 선택하세요.

  4. 실행

    서명 검증 또는 파일 서명을 클릭하세요. 진행률에 해시된 바이트 수가 표시되며 취소로 중단할 수 있습니다.

  5. 결과 확인

    녹색 또는 빨간색 메시지로 판정이 표시되고, 그 아래에 키 지문, 방식, 해시, 서명자가 나옵니다. 서명 후에는 .sig 다운로드를 사용하거나 서명을 복사하세요.

팁 및 모범 사례

  • 신뢰할 수 있는 키 없이 유효한 서명은 무결성만 증명할 뿐 서명자를 증명하지 않습니다. 항상 지문을 비교하거나 서명자의 키를 제공하세요.
  • git은 네임스페이스 git으로 커밋에 서명하고, 일반 ssh-keygen -Y sign은 보통 file을 사용합니다.
  • OpenSSL의 RSA-PSS 서명은 다이제스트 길이와 최대 솔트 길이 모두로 확인하므로 구버전과 신버전 OpenSSL의 서명을 모두 검증할 수 있습니다.
  • Ed25519 원시 서명은 해시가 아닌 파일 전체에 서명하므로 여기서는 128 MiB로 제한되며, SSH 서명에는 크기 제한이 없습니다.
  • 개인 키는 이 탭에서만 사용되고 저장되지 않습니다. 그래도 평소 쓰는 SSH 키 대신 서명 전용 키를 사용하는 것이 좋습니다.

다음 개선을 선택해 주세요

다음에는 무엇을 개선할까요?

제안 하나를 선택하세요. 이는 아이디어이며 제공이 약속된 기능은 아닙니다.

옵션 하나 선택

투표는 선택한 항목만 익명 집계로 전송합니다. 입력 내용, 파일 데이터, URL, 쿠키 또는 식별자를 포함하지 않으며 이 브라우저에 저장되지 않습니다. 페이지를 새로 고치면 다시 투표할 수 있습니다.