본문으로 건너뛰기

디지털 서명

인증서로 서명해서, 파일이 바뀌지 않았음을 읽는 사람이 확인할 수 있게 해요.

기기에서 처리됨

이 도구는 브라우저 안에서만 실행돼요. 파일은 절대 업로드되지 않으며, 브라우저의 네트워크 탭에서 직접 확인할 수 있어요. 직접 확인해 보세요. 브라우저의 네트워크 탭을 열어 두고 지켜보면, 남은 작업이 있는지 묻는 작은 요청 하나만 보여요. 도구 이름과 해시뿐이고, 파일은 절대 포함되지 않아요.

이 도구가 하는 일

This applies a real cryptographic signature: a detached CMS SignedData structure computed over the document's bytes and embedded in the file, which Acrobat and other compliant readers check when the document is opened. Unlike a drawn signature it establishes two things - that the holder of a particular certificate signed, and that not one byte has changed since.

When the recipient will verify rather than merely look: a tender submission, an invoice under an e-invoicing rule, a document going into an archive that requires signed originals, or anything where a later argument about whether the file was altered is a real possibility.

작동 방식

  1. Drop two files onto this page: the PDF, and your certificate as a .p12 or .pfx file. The order does not matter - the PDF is recognised by its contents.
  2. Type the passphrase that protects the certificate. It is used in your browser to unwrap the private key and is never sent.
  3. Fill in the reason and the location if your recipient expects them. Both are recorded inside the signature and shown by readers that display signature details.
  4. Leave visible on to draw a signature block on the page you choose, or turn it off for a signature that exists only in the file's structure.
  5. Press Sign with certificate, then open the result in Acrobat to see what a recipient's reader will report.

Every online signing service asks you to upload the one file you should never upload. Here the .p12 is read in the page and parsed inside a worker that holds nothing else, and the worker is terminated when the job finishes - the thread is discarded rather than a variable cleared, so nothing of the key survives into a later job.

A PDF signature covers the byte ranges its /ByteRange array names, and that array has to be written into the file in place, after space for the signature has been reserved. Re-serialising the document afterwards moves every offset and invalidates what was just computed - the mistake naive implementations make, and the reason some signed PDFs report as broken the moment they are opened.

A self-signed certificate produces a valid signature that readers report as validity unknown, because they have no reason to believe the name on it. That is not a failure: it says the mathematics checks out and the identity does not. A certificate issued by an authority your recipient's reader already trusts is what turns that into a green tick.

There is no trusted timestamp and no revocation checking, because both need a network service that this tool never contacts. The signing time recorded is your own computer's clock, which a strict recipient should treat as a claim rather than proof. An encrypted PDF is refused for a related reason: a signature computed over ciphertext is not something a reader will validate.

이 도구가 할 수 없는 일

  • A self-signed certificate shows as validity unknown in the recipient's reader until they choose to trust it. Only a certificate from an authority their reader already trusts avoids that.
  • No trusted timestamp is applied and no revocation is checked, because both require contacting a server. The recorded signing time is your device's clock.
  • This produces a basic signature rather than a long-term-validation profile, so once the certificate expires nothing in the file confirms the signature was made while it was valid.
  • Encrypted documents are refused. Remove the password with Unlock PDF before signing.
  • The visible signature block has a fixed position and size on the page you choose; it cannot be dragged elsewhere.

자주 묻는 질문

PDF 서명과는 무엇이 다른가요?
PDF 서명은 페이지에 서명 그림을 그려요. 이 도구는 개인 키로 파일의 바이트에 대해 암호학적 서명을 계산해서 파일에 넣기 때문에, 뷰어가 인증서에 따라 누가 서명했는지, 그리고 그 뒤로 무엇이 바뀌었는지 알려줄 수 있어요. 그린 서명은 둘 중 어느 것도 증명하지 못해요.
인증서는 어디서 받나요?
인증 기관에서 받아요. 여러 국가 제도와 다수의 상용 CA, 일부 회사가 발급해요. 필요한 건 인증서와 개인 키가 함께 들어 있는 PKCS#12 묶음, 그러니까 .p12나 .pfx 파일이에요. OpenSSL로 만든 자체 서명 인증서로도 서명은 잘 되지만, 뷰어가 자동으로 신뢰해 주지는 않아요.
Acrobat이 서명 유효성을 알 수 없다고 하는 이유는 뭔가요?
수학은 검증했지만 신원은 검증할 수 없기 때문이에요. 그 메시지는 서명이 온전하고 문서가 바뀌지 않았다는 뜻이면서, 인증서가 뷰어가 신뢰하는 기관까지 이어지지 않는다는 뜻이에요. 자체 서명 인증서라면 언제나 이렇게 나와요.
제 개인 키가 업로드되나요?
아니요. 그리고 이 도구에서 그 점이 가장 중요해요. .p12는 페이지 안에서 읽히고, 작업이 끝나는 즉시 종료되는 웹 워커에서 해석되기 때문에 키가 남지 않고 전송되는 것도 없어요. 서명하기 전에 네트워크 탭을 열어 두고 계속 비어 있는지 지켜보세요.
신뢰할 수 있는 타임스탬프가 붙나요?
아니요. 타임스탬프는 네트워크를 통해 시각 인증 기관에서 받아 오는 것인데 이 도구는 네트워크 요청을 전혀 하지 않아요. 그래서 기록되는 시각은 사용자 기기의 시계예요. 증거라기보다 주장에 가까우니, 정책이 엄격한 수신자에게는 미리 알려주는 게 좋아요.
제 문서가 업로드되나요?
아니요. 문서와 인증서 모두 기기에 남고, 서명은 로컬에서 계산돼 파일에 기록돼요. 페이지를 한 번 로드하고 나면 연결을 꺼도 서명이 되는데, 기밀 문서를 다루는 방법으로는 합리적이에요.

관련 도구