공개 키 암호화 문서 다시 로드

공개 키 보안 처리기(/Filter /Adobe.PPKLite 또는 /Adobe.PubSec, /SubFilter adbe.pkcs7.s4/s5)로 암호화된 문서는 호출자가 수신자 개인 키를 제공할 때 이제 로드됩니다

키 자료

LoadFromFile을 호출하기 전에 THotPDF.PubSecKeyMaterial(HPDFParsePFX의 THPDFPFXKeyMaterial)을 할당합니다. 바운딩된 범위 사전 스캔 중에 파일 키가 복구됩니다. 모든 /Recipients 봉투는 RSA-OAEP 개인 키로 열리고(시드와 권한은 CMS EnvelopedData에서 복구됨), 파일 키는 기록기가 하는 것처럼 정확히 다시 파생됩니다. AES-256의 경우 시드와 봉투의 SHA-256, 레거시 키 길이의 경우 SHA-1입니다

수신자 선택

PubSecRecipientQuery(reference to function(Context: Pointer; RecipientCount: Integer): Integer)는 제공된 키가 어느 봉투 인덱스를 열지 선택하며, 콜백이 없으면 하나가 열릴 때까지 모든 수신자를 시도합니다. PubSecRecipientQueryContext는 호출자 상태를 전달합니다

기록기 수정

왕복은 두 기록기 결함을 드러냈고 모두 수정되었습니다. 수신자 봉투가 바이너리-유니코드 문자열 왕복으로 손상되었고, 파일 키 다이제스트가 1바이트 오프셋으로 봉투 바이트를 해싱했으며, /Recipients 문자열은 일반 문자열처럼 암호화되었습니다(모든 뷰어가 평문이 필요합니다). 봉투는 이제 문자열 객체의 명시적 SkipEncryption 플래그를 통해 제외됩니다