>  기사  >  다중 계약 연장

다중 계약 연장

WBOY
WBOY앞으로
2024-02-12 17:15:05729검색

질문 내용

iext를 사용하여 PDF 파일에 여러 번 서명할 수 있기를 원합니다. 하지만 개인 키가 없습니다. 클라이언트가 서명할 해시를 생성하고 재서명한 후 signDeferred()를 호출합니다. 여러 개의 빈 컨테이너를 만들고 모든 빈 컨테이너로 해시를 생성한 다음 나타나는 대로 서명을 추가하는 것이 가능합니까?

빈 컨테이너를 2개 이상 추가하려고 시도했고 해시를 생성했으며 클라이언트가 서명하고 해시를 반환했습니다. 추가를 시도했지만 마지막 필드가 아니라는 오류가 발생했습니다. 개인 키가 없기 때문에 옵션이 아닌 마지막 필드에서만 signDeferred 。但我不知道如何修复它,因为 signDetached를 호출할 수 있습니다.

해결 방법

아니요, 적어도 상호 운용 가능한 PDF 서명의 경우에는 불가능합니다.

이유는 PDF에 지정된 병렬 서명(또는 반대 서명)이라는 실제 개념이 없고, 일련의 서명 개념만 있고, 각각의 새 서명이 이전의 모든 서명을 덮어쓰기 때문입니다.

(자세한 내용은 이 답변을 참조하세요.)

엄밀히 말하면, PDF 사양에서는 서명 컨테이너 자체에 포함된 자리 표시자를 제외한 모든 개정판을 요구 하지 않고 단지 권장 만 할 뿐입니다. 따라서 이론적으로 각각 포함된 모든 서명 값을 제외하고 전체 PDF를 포함하는 여러 서명이 있는 PDF를 만드는 것이 가능합니다.

그러나 실제로 PDF 서명 유효성 검사기는 이러한 구성을 거부합니다. 또한 최신 서명 프로필(특히 PAdES 기본 프로필)에는 서명된 컨테이너 자리 표시자를 제외한 모든 개정판을 포함하는 서명이 필요합니다.

위 내용은 다중 계약 연장의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제