PDF 전자서명

개인 인증서(PFX·P12)로 PDF에 전자서명을 넣고, 이미 서명된 문서의 서명이 유효한지 검증하세요. 서명 위치와 표시 문구를 정하고 서명 후 변경 여부를 확인할 수 있습니다. 인증서와 암호는 브라우저 밖으로 나가지 않습니다.

1파일 선택2설정3처리4저장

PDF를 선택하면 내용을 분석해 표시합니다.

파일은 이 브라우저에서만 처리됩니다. 서버에 업로드하지 않습니다.

PFX/P12 인증서로 서명하고 기존 서명 검증

다른 도구로 이어서 편집
작업 설정
설정
검증만: 문서 안의 서명을 확인하고 파일은 원본 그대로 둡니다

암호화된 PDF는 먼저 암호를 해제하세요. 페이지 콘텐츠 중심으로 처리하며 목차·첨부·양식·서명 보존은 보장하지 않습니다. 원본을 보관하고 결과를 확인하세요.

PDF 전자서명 소개

이 도구가 넣는 것은 서명 「그림」이 아니라 암호학적 전자서명입니다. PFX/P12 파일에서 RSA 개인키와 인증서를 꺼내, 문서 바이트의 SHA-256 해시에 서명한 CMS(PKCS #7) 데이터를 PDF의 서명 필드에 넣습니다. 페이지에 보이는 상자(이름·사유·일시, 선택한 도장 PNG)는 그 서명의 겉모습일 뿐이고, 검증에 쓰이는 것은 보이지 않는 CMS 데이터입니다.

두 번째 모드는 검증입니다. 문서 안의 모든 서명을 찾아 서명 범위(ByteRange)가 파일 전체를 덮는지, 그 범위의 해시가 서명 속 값과 같은지, 서명 값이 서명자 인증서의 공개키로 맞는지를 확인하고 인증서의 이름·발급자·유효기간을 보여 줍니다. 검증 모드는 파일을 바꾸지 않습니다.

서명 이미지와 전자서명은 무엇이 다른가

손글씨 서명을 찍은 PNG를 페이지에 붙이는 것은 누구나 복사해 다른 문서에 붙일 수 있고, 붙인 뒤 본문을 고쳐도 아무 흔적이 남지 않습니다. 전자서명은 문서 내용 전체의 해시에 개인키로 서명하므로, 서명 뒤 한 바이트만 바뀌어도 해시가 달라져 검증이 실패합니다. 그리고 그 서명은 개인키를 가진 사람만 만들 수 있습니다.

이 도구에서 도장 PNG를 넣으면 두 가지가 겹칩니다. 도장은 서명 상자의 외형(appearance)에 그려지고, 그 아래에 실제 CMS 서명이 있습니다. 도장 그림을 복사해 가는 것은 막을 수 없지만, 복사한 그림에는 서명이 따라가지 않습니다.

이 도구의 서명 형식을 정확히 말하면

서명 사전은 /Filter /Adobe.PPKLite, /SubFilter /adbe.pkcs7.detached로 기록됩니다. ISO 32000이 정한 기본 PDF 서명 형식으로 Acrobat과 대부분의 뷰어가 검증합니다. 해시는 SHA-256, 서명 알고리즘은 RSA(PKCS #1 v1.5)이며, 서명 속성에 서명 시각(signingTime)을 넣습니다.

유럽 표준 PAdES(ETSI EN 319 142-1)의 기본 서명은 아닙니다. PAdES 기본 프로필은 SubFilter로 ETSI.CAdES.detached를 쓰고 서명 인증서를 가리키는 속성 등을 요구하는데, 이 도구는 그 형식을 만들지 않습니다. 또 다음 기능이 없습니다.

  • 타임스탬프(RFC 3161): 서명 시각은 내 컴퓨터 시계로 기록됩니다. 외부 시각 인증 기관이 보증한 시각이 아니므로 시계를 바꾸면 다른 시각이 적힙니다.
  • 장기 검증 정보(LTV): 인증서 폐지 목록(CRL)·OCSP 응답을 문서에 넣지 않습니다. 인증서가 만료된 뒤에는 서명 당시 유효했음을 문서만으로 증명하기 어렵습니다.
  • 변경 허용 범위 검사(DocMDP): 새 서명은 원본 뒤에 증분 업데이트로 덧붙이므로 앞 서명은 유효하게 남습니다. 다만 검증할 때 서명 뒤에 덧붙은 업데이트가 추가 서명인지 페이지 내용 변경인지는 판정하지 않습니다.
  • ECDSA 키: RSA 개인키가 든 PFX만 받습니다. ECDSA 인증서를 고르면 그 이유를 밝히고 멈추며, ECDSA 서명은 검증하지 않고 이유를 보고서에 적습니다.

검증 결과 「유효」가 뜻하는 것과 뜻하지 않는 것

이 도구의 「유효」는 수학적 검사를 통과했다는 뜻입니다. 서명 이후 파일이 바뀌지 않았고, 서명 값이 문서에 들어 있는 인증서의 공개키와 맞습니다. 그러나 그 인증서를 누가 발급했는지 신뢰 목록과 대조하거나, 폐지되었는지 CRL·OCSP로 조회하지는 않습니다. 누구나 자기 이름으로 사설 인증서를 만들 수 있으므로, 「유효」라도 서명자 이름을 그대로 믿으면 안 됩니다. 인증서의 발급자와 지문을 상대에게서 다른 경로로 확인하거나, Acrobat처럼 신뢰 목록을 쓰는 뷰어에서도 열어 보세요. 검증 보고서는 결과 옆에 이 한계를 적고, 비교할 수 있도록 인증서의 SHA-256 지문을 보여 줍니다.

ByteRange가 파일 전체를 덮지 않는다는 결과도 중요합니다. 서명 범위가 완전한 이전 판(%%EOF로 끝남)에서 끝나고 그 뒤가 증분 업데이트이면, 도구는 서명 범위를 「이전 판 전체」로 표시하고 서명한 판이 그대로인지로 유효 여부를 판정합니다. 덧붙은 내용은 정상적인 추가 서명일 수도 있고 서명 뒤 페이지 내용을 바꾼 것일 수도 있으며, 도구는 그 내용을 검사하지 않습니다. 그 밖의 방식으로 범위가 어긋나면 무효입니다.

어떤 인증서를 쓸 수 있나

개인키를 포함해 내보낸 PFX/P12 파일이면 됩니다. 공동인증서(구 공인인증서)는 보통 signCert.der와 signPri.key 두 파일로 저장되어 있어 바로 쓸 수 없고, 인증서 관리 프로그램에서 PFX로 내보내기를 지원하는 경우에만 사용할 수 있습니다. 회사가 발급한 문서 서명용 인증서나 OpenSSL로 만든 자체 서명 인증서도 PFX로 만들면 동작합니다. 자체 서명 인증서로 서명한 문서는 Acrobat에서 「서명자의 ID를 알 수 없음」처럼 표시되며, 받는 쪽이 인증서를 신뢰 목록에 추가해야 녹색 표시가 됩니다.

예시

서명 후 한 글자를 고친 경우

입력
서명한 계약서를 다른 편집기로 열어 금액 1,000,000을 1,500,000으로 수정 후 저장
결과
검증: 해시 불일치(파일을 다시 쓴 경우) 또는 서명 범위 「이전 판 전체 — 뒤에 증분 업데이트」(증분 저장한 경우)

편집기가 파일 전체를 다시 쓰면 해시가 달라집니다. 증분 저장을 하면 서명한 판은 그대로라 서명은 유효로 남지만, 보고서의 서명 범위에 뒤에 덧붙은 내용이 있다고 표시됩니다. 도구는 덧붙은 내용을 판정하지 않으므로 이 표시가 보이면 서명한 원본과 비교하세요.

자체 서명 인증서로 서명한 견적서

입력
OpenSSL로 만든 자체 서명 인증서(PFX), 도장 PNG 포함
결과
이 도구 검증: 유효 / Acrobat: 서명은 유효하나 서명자 신원을 확인할 수 없음

무결성은 보장되지만 신원은 인증서를 받는 쪽이 신뢰하느냐에 달려 있습니다. 거래처와 인증서 지문을 미리 주고받으면 실무에서 쓸 수 있습니다.

두 사람이 차례로 서명해야 하는 결재

입력
A가 이 도구로 서명 → B가 이 도구로 추가 서명
결과
A·B 서명 모두 유효 (A의 서명 범위: 이전 판 전체)

B의 서명은 A가 서명한 파일 뒤에 증분 업데이트로 덧붙으므로 A가 서명한 바이트는 한 글자도 바뀌지 않습니다. Acrobat 같은 다른 프로그램으로 서명을 이어 가도 같습니다.

사용 방법

  1. PDF를 선택하고 서명 추가 또는 검증만을 고릅니다.
  2. 서명 추가: PFX/P12 파일과 암호를 넣고, 서명 페이지와 상자 위치, 표시 문구, 도장 이미지를 정합니다.
  3. 실행하면 서명된 파일이 만들어지고 바로 검증 결과가 표시됩니다.

주요 용어

CMS (PKCS #7)
서명 값, 서명자 인증서, 서명 속성을 담는 데이터 형식. PDF 서명의 /Contents에 들어갑니다.
ByteRange
서명이 덮는 파일 구간. 서명 데이터가 들어갈 자리를 뺀 나머지 전체여야 합니다.
PAdES
ETSI EN 319 142로 정한 유럽 PDF 고급 전자서명 형식. 타임스탬프·장기 검증 수준을 단계별로 정의합니다.
자체 서명 인증서
인증기관 없이 스스로 발급한 인증서. 암호학적으로는 동작하지만 신원 보증은 없습니다.

자주 묻는 질문

도장 이미지만 넣으면 전자서명인가요?

이 도구에서는 도장이 항상 실제 CMS 서명과 함께 들어갑니다. 그림만 붙이는 기능이 필요하면 PDF 텍스트·이미지 추가 도구를 쓰면 되지만, 그 경우 위변조 검증은 되지 않습니다.

공동인증서로 서명할 수 있나요?

PFX/P12로 내보낼 수 있으면 됩니다. signCert.der·signPri.key 형태 그대로는 읽지 못합니다.

PAdES 서명인가요?

아니요. adbe.pkcs7.detached 형식이며 타임스탬프와 장기 검증 정보가 없습니다. PAdES가 요구되는 전자계약·공공 제출에는 전용 서명 서비스를 쓰세요.

검증에서 유효라고 나오면 믿어도 되나요?

파일이 서명 후 바뀌지 않았다는 것까지입니다. 인증서의 신뢰성과 폐지 여부는 확인하지 않으므로 서명자 신원은 따로 확인하세요.

인증서와 암호는 어디로 가나요?

PFX 파일과 암호는 이 페이지 안에서만 읽혀 서명에 쓰이고 저장되지 않습니다. 다만 공용 PC에서는 PFX 파일 자체를 다운로드 폴더에 남기지 않도록 주의하세요.

관련 가이드

출처

기준일:

개인정보와 저장 방식