PDF 문서 암호화 및 암호 해독 encrypting-and-decrypting-pdf-documents
암호화 서비스 정보
암호화 서비스를 사용하면 문서를 암호화하고 해독할 수 있습니다. 문서가 암호화되면 문서의 내용을 읽을 수 없게 됩니다. 권한이 있는 사용자는 문서를 해독하여 컨텐츠에 대한 액세스를 얻을 수 있습니다. PDF 문서가 암호로 암호화되어 있는 경우, Adobe Reader 또는 Adobe Acrobat에서 문서를 볼 수 있으려면 먼저 열린 암호를 지정해야 합니다. 마찬가지로, PDF 문서가 인증서로 암호화되어 있는 경우 사용자는 PDF 문서를 암호화하는 데 사용된 인증서(개인 키)에 해당하는 공개 키로 PDF 문서를 해독해야 합니다.
암호화 서비스를 사용하여 다음 작업을 수행할 수 있습니다.
-
암호로 PDF 문서를 암호화합니다. (자세한 내용은 암호로 PDF 문서 암호화)
-
인증서를 사용하여 PDF 문서를 암호화합니다. (자세한 내용은 인증서를 사용하여 PDF 문서 암호화)
-
PDF 문서에서 암호 기반 암호화를 제거합니다. (자세한 내용은 암호 암호화 제거)
-
PDF 문서에서 인증서 기반 암호화를 제거합니다. (자세한 내용은 인증서 기반 암호화 제거)
-
다른 서비스 작업을 수행할 수 있도록 PDF 문서의 잠금을 해제합니다. 예를 들어, 암호로 암호화된 PDF 문서의 잠금이 해제된 후 디지털 서명을 적용할 수 있습니다. (자세한 내용은 암호화된 PDF 문서 잠금 해제)
-
보안 PDF 문서의 암호화 유형을 확인합니다. (자세한 내용은 암호화 유형 확인)
note note NOTE 암호화 서비스에 대한 자세한 내용은 AEM Forms에 대한 서비스 참조.
암호로 PDF 문서 암호화 encrypting-pdf-documents-with-a-password
암호로 PDF 문서를 암호화할 때 Adobe Reader 또는 Acrobat에서 PDF 문서를 열려면 암호를 지정해야 합니다. 또한 문서에서 PDF 문서에 디지털 서명하는 등의 다른 AEM Forms 작업을 수행하기 전에 암호로 암호화된 PDF 문서의 잠금을 해제해야 합니다.
단계 요약 summary-of-steps
암호로 PDF 문서를 암호화하려면 다음 단계를 수행하십시오.
- 프로젝트 파일을 포함합니다.
- 암호화 클라이언트 API 개체를 만듭니다.
- 암호화할 PDF 문서를 가져옵니다.
- 암호화 런타임 옵션을 설정합니다.
- 암호를 추가합니다.
- 암호화된 PDF 문서를 PDF 파일로 저장합니다.
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함합니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함하십시오. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
프로젝트의 클래스 경로에 다음 JAR 파일을 추가해야 합니다.
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar(AEM Forms이 JBoss에 배포된 경우 필수)
- jbossall-client.jar(AEM Forms이 JBoss에 배포되는 경우 필요)
암호화 클라이언트 API 개체 만들기
암호화 서비스 작업을 프로그래밍 방식으로 수행하려면 암호화 서비스 클라이언트를 만들어야 합니다.
암호화할 PDF 문서 가져오기
암호를 사용하여 문서를 암호화하려면 암호화되지 않은 PDF 문서를 가져와야 합니다. 이미 암호화된 PDF 문서를 보호하려고 하면 예외가 발생합니다.
암호화 런타임 옵션 설정
암호로 PDF 문서를 암호화하려면 두 개의 암호 값을 포함하여 네 개의 값을 지정합니다. 첫 번째 암호 값은 PDF 문서를 암호화하는 데 사용되며 PDF 문서를 열 때 지정해야 합니다. 마스터 암호 값이라는 두 번째 암호 값은 PDF 문서에서 암호화를 제거하는 데 사용됩니다. 암호 값은 대/소문자를 구분하며, 이 두 암호 값은 동일한 값이 될 수 없습니다.
암호화할 PDF 문서 리소스를 지정해야 합니다. 문서의 메타데이터를 제외한 모든 내용 또는 문서의 첨부 파일을 제외한 전체 PDF 문서를 암호화할 수 있습니다. 문서의 첨부 파일만 암호화할 경우 첨부 파일에 액세스하려고 할 때 암호를 입력하라는 메시지가 표시됩니다.
PDF 문서를 암호화할 때 보안 문서와 관련된 권한을 지정할 수 있습니다. 권한을 지정하여 암호로 암호화된 PDF 문서를 여는 사용자가 수행할 수 있는 작업을 제어할 수 있습니다. 예를 들어 양식 데이터를 성공적으로 추출하려면 다음 권한을 설정해야 합니다.
- PASSWORD_EDIT_ADD
- PASSWORD_EDIT_MODIFY
PasswordEncryptionPermission 열거형 값.암호 추가
비보안 PDF 문서를 검색하고 암호화 런타임 값을 설정한 후에는 PDF 문서에 암호를 추가할 수 있습니다.
암호화된 PDF 문서를 PDF 파일로 저장
암호로 암호화된 PDF 문서를 PDF 파일로 저장할 수 있습니다.
추가 참조
Java API를 사용하여 PDF 문서 암호화 encrypt-a-pdf-document-using-the-java-api
암호화 API(Java)를 사용하여 암호로 PDF 문서를 암호화합니다.
-
프로젝트 파일을 포함합니다.
Java 프로젝트의 클래스 경로에 adobe-encryption-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
-
암호화 클라이언트 API를 만듭니다.
- 만들기
ServiceClientFactory연결 속성을 포함하는 객체입니다. - 만들기
EncryptionServiceClient생성자를 사용하여 객체를 전달하고ServiceClientFactory개체.
- 만들기
-
암호화할 PDF 문서를 가져옵니다.
- 만들기
java.io.FileInputStream생성자를 사용하고 PDF 문서의 위치를 지정하는 문자열 값을 전달하여 암호화할 PDF 문서를 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream개체.
- 만들기
-
암호화 런타임 옵션을 설정합니다.
- 만들기
PasswordEncryptionOptionSpec개체를 생성자로 호출하여 개체를 가져옵니다. - 를 호출하여 암호화할 PDF 문서 리소스를 지정합니다
PasswordEncryptionOptionSpec개체setEncryptOption메서드 및 전달PasswordEncryptionOption암호화할 문서 리소스를 지정하는 열거형 값입니다. 예를 들어, 메타데이터와 첨부 파일을 포함하여 전체 PDF 문서를 암호화하려면PasswordEncryptionOption.ALL. - 만들기
java.util.List를 사용하여 암호화 권한을 저장하는 개체ArrayList생성자입니다. - 을 호출하여 권한을 지정합니다
java.util.List개체add설정하려는 권한에 해당하는 열거형 값을 전달하는 메서드와 전달 예를 들어, 사용자가 PDF 문서에 있는 데이터를 복사할 수 있는 권한을 설정하려면 다음을 지정합니다PasswordEncryptionPermission.PASSWORD_EDIT_COPY. 설정할 각 권한에 대해 이 단계를 반복합니다. - 를 호출하여 Acrobat 호환성 옵션을 지정합니다
PasswordEncryptionOptionSpec개체setCompatabilityAcrobat 호환성 수준을 지정하는 열거형 값 전달 및 메서드. 예를 들어PasswordEncryptionCompatability.ACRO_7. - 사용자가 암호화된 PDF 문서를 열 수 있도록 하려면
PasswordEncryptionOptionSpec개체setDocumentOpenPassword메서드 및 열린 암호를 나타내는 문자열 값을 전달합니다. - 사용자가 PDF 문서에서 암호화를 제거할 수 있도록 마스터 암호 값을 지정합니다
PasswordEncryptionOptionSpec개체setPermissionPassword마스터 암호를 나타내는 문자열 값을 전달하는 방법 및 전달
- 만들기
-
암호를 추가합니다.
PDF 문서를 호출하여 암호화
EncryptionServiceClient개체encryptPDFUsingPassword메서드 및 다음 값 전달:- 다음
com.adobe.idp.Document암호로 암호화할 PDF 문서가 포함된 객체입니다. - 다음
PasswordEncryptionOptionSpec암호화 런타임 옵션이 포함된 객체입니다.
다음
encryptPDFUsingPassword메서드 반환com.adobe.idp.Document암호로 암호화된 PDF 문서를 포함하는 객체입니다. - 다음
-
암호화된 PDF 문서를 PDF 파일로 저장합니다.
- 만들기
java.io.File개체 및 파일 확장명이 .pdf인지 확인합니다. - 를 호출합니다
com.adobe.idp.Document개체copyToFile컨텐츠의 내용 복사 방법com.adobe.idp.Document개체를 파일로 가져올 수 있습니다. 를 사용해야 합니다com.adobe.idp.Document반환되는 개체encryptPDFUsingPassword메서드를 사용합니다.
- 만들기
추가 참조
빠른 시작(SOAP 모드): Java API를 사용하여 PDF 문서 암호화
웹 서비스 API를 사용하여 PDF 문서 암호화 encrypting-a-pdf-document-using-the-web-service-api
암호화 API(웹 서비스)를 사용하여 암호로 PDF 문서를 암호화합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다.
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE 바꾸기 localhost(AEM Forms을 호스팅하는 서버의 IP 주소 사용) -
암호화 클라이언트 API 개체를 만듭니다.
-
만들기
EncryptionServiceClient기본 생성자를 사용하여 개체를 만듭니다. -
만들기
EncryptionServiceClient.Endpoint.Address개체를System.ServiceModel.EndpointAddress생성자입니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/EncryptionService?WSDL) 를 사용할 필요가 없습니다lc_version속성을 사용합니다. 이 속성은 서비스 참조를 생성할 때 사용됩니다.) -
만들기
System.ServiceModel.BasicHttpBinding개체의 값을 가져와서EncryptionServiceClient.Endpoint.Binding필드. 반환 값을 다음으로 캐스팅합니다.BasicHttpBinding. -
설정
System.ServiceModel.BasicHttpBinding개체MessageEncoding필드 대상WSMessageEncoding.Mtom. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
- 필드에 AEM Forms 사용자 이름을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.UserName. - 필드에 해당 암호 값을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.Password. - 상수 값 할당
HttpClientCredentialType.Basic아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Transport.ClientCredentialType. - 상수 값 할당
BasicHttpSecurityMode.TransportCredentialOnly아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Security.Mode.
- 필드에 AEM Forms 사용자 이름을 지정합니다
-
-
암호화할 PDF 문서를 가져옵니다.
- 만들기
BLOB생성자를 사용하여 개체를 작성합니다. 다음BLOB객체는 암호로 암호화된 PDF 문서를 저장하는 데 사용됩니다. - 만들기
System.IO.FileStream객체를 사용하여 생성자를 호출하고 암호화할 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체BLOB개체MTOM데이터 멤버.
- 만들기
-
암호화 런타임 옵션을 설정합니다.
- 만들기
PasswordEncryptionOptionSpec생성자를 사용하여 개체를 작성합니다. - 를 할당하여 암호화할 PDF 문서 리소스를 지정합니다
PasswordEncryptionOption열거형 값PasswordEncryptionOptionSpec개체encryptOption데이터 멤버. 메타데이터와 첨부 파일을 포함하여 전체 PDF을 암호화하려면 다음을 지정합니다.PasswordEncryptionOption.ALL이 데이터 멤버에 대한 매핑입니다. - Acrobat 호환성 옵션을 지정하려면
PasswordEncryptionCompatability열거형 값PasswordEncryptionOptionSpec개체compatability데이터 멤버. 예를 들어,PasswordEncryptionCompatability.ACRO_7이 데이터 멤버에 대한 매핑입니다. - 사용자가 열려 있는 암호를 나타내는 문자열 값을
PasswordEncryptionOptionSpec개체documentOpenPassword데이터 멤버. - 사용자가 마스터 암호를 나타내는 문자열 값을
PasswordEncryptionOptionSpec개체permissionPassword데이터 멤버.
- 만들기
-
암호를 추가합니다.
PDF 문서를 호출하여 암호화
EncryptionServiceClient개체encryptPDFUsingPassword메서드 및 다음 값 전달:- 다음
BLOB암호로 암호화할 PDF 문서가 포함된 객체입니다. - 다음
PasswordEncryptionOptionSpec암호화 런타임 옵션이 포함된 객체입니다.
다음
encryptPDFUsingPassword메서드 반환BLOB암호로 암호화된 PDF 문서를 포함하는 객체입니다. - 다음
-
암호화된 PDF 문서를 PDF 파일로 저장합니다.
- 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 보안 PDF 문서의 파일 위치를 나타내는 문자열 값을 전달합니다. - 의 데이터 내용을 저장하는 바이트 배열을 만듭니다
BLOB반환되는 개체encryptPDFUsingPassword메서드를 사용합니다. 의 값을 가져와서 바이트 배열을 채웁니다BLOB개체MTOM데이터 멤버. - 만들기
System.IO.BinaryWriter생성자를 호출하고 전달하여 개체를System.IO.FileStream개체. - 를 호출하여 PDF 파일에 바이트 배열의 내용을 씁니다.
System.IO.BinaryWriter개체Write메서드를 사용하여 바이트 배열을 전달합니다.
- 만들기
추가 참조
인증서를 사용하여 PDF 문서 암호화 encrypting-pdf-documents-with-certificates
인증서 기반 암호화를 사용하면 공개 키 기술을 통해 특정 수신자에 대한 문서를 암호화할 수 있습니다. 다양한 수신자에게 문서에 대한 서로 다른 권한을 부여할 수 있습니다. 암호화의 많은 측면들은 공개 키 기술에 의해 가능하게 된다. 알고리즘은 이라는 두 개의 큰 숫자를 생성하는 데 사용됩니다 키 에는 다음 속성이 있습니다.
- 한 개의 키는 데이터 집합을 암호화하는 데 사용됩니다. 그런 다음 다른 키만 데이터 암호를 해독하는 데 사용할 수 있습니다.
- 한 개의 키를 다른 키와 구별하는 것은 불가능하다.
키 중 하나는 사용자의 개인 키 역할을 합니다. 사용자만 이 키에 액세스할 수 있어야 합니다. 다른 키는 사용자의 공개 키이며, 다른 사용자와 공유할 수 있습니다.
공개 키 인증서에는 사용자의 공개 키와 식별 정보가 포함되어 있습니다. X.509 형식은 인증서를 저장하는 데 사용됩니다. 인증서는 일반적으로 CA(인증 기관)에서 발행하고 디지털 서명하며, CA는 인증서의 유효성에 대한 신뢰도를 측정하는 인식된 엔티티입니다. 인증서의 만료 날짜가 만료되어 더 이상 유효하지 않습니다. 또한 CRL(인증서 해지 목록)은 만료 날짜 이전에 해지된 인증서에 대한 정보를 제공합니다. CRL은 인증서 기관에서 주기적으로 게시됩니다. 네트워크의 OCSP(온라인 인증서 상태 프로토콜)를 통해 인증서의 해지 상태를 검색할 수도 있습니다.
단계 요약 summary_of_steps-1
인증서로 PDF 문서를 암호화하려면 다음 단계를 수행하십시오.
- 프로젝트 파일을 포함합니다.
- 암호화 클라이언트 API 개체를 만듭니다.
- 암호화할 PDF 문서를 가져옵니다.
- 인증서를 참조합니다.
- 암호화 런타임 옵션을 설정합니다.
- 인증서로 암호화된 PDF 문서를 만듭니다.
- 암호화된 PDF 문서를 PDF 파일로 저장합니다.
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함하십시오. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함하십시오. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
프로젝트의 클래스 경로에 다음 JAR 파일을 추가해야 합니다.
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
- jbossall-client.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
암호화 클라이언트 API 개체 만들기
암호화 서비스 작업을 프로그래밍 방식으로 수행하려면 암호화 서비스 클라이언트를 만들어야 합니다. Java 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncrytionServiceClient 개체. 웹 서비스 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncryptionServiceService 개체.
암호화할 PDF 문서 가져오기
암호화하려면 암호화되지 않은 PDF 문서를 가져와야 합니다. 이미 암호화된 PDF 문서를 보호하려고 하면 예외가 발생합니다.
인증서 참조
인증서로 PDF 문서를 암호화하려면 PDF 문서를 암호화하는 데 사용되는 인증서를 참조합니다. 인증서는 .cer 파일, .crt 파일 또는 .pem 파일입니다. PKCS#12 파일은 해당 인증서와 함께 개인 키를 저장하는 데 사용됩니다.
인증서로 PDF 문서를 암호화할 때 보안 문서와 관련된 권한을 지정합니다. 권한을 지정하여 인증서 암호화된 PDF 문서를 여는 사용자가 수행할 수 있는 작업을 제어할 수 있습니다.
암호화 런타임 옵션 설정
암호화할 PDF 문서 리소스를 지정합니다. 문서의 메타데이터를 제외한 모든 문서 또는 문서의 첨부 파일만 전체 PDF 문서를 암호화할 수 있습니다.
인증서로 암호화된 PDF 문서 만들기
보안되지 않은 PDF 문서를 검색하고 인증서를 참조하며 런타임 옵션을 설정한 후에는 인증서를 암호화한 PDF 문서를 만들 수 있습니다. PDF 문서가 암호화되면 암호를 해독하려면 해당 공개 키가 필요합니다.
암호화된 PDF 문서를 PDF 파일로 저장
암호화된 PDF 문서를 PDF 파일로 저장할 수 있습니다.
추가 참조
Java API를 사용하여 인증서로 PDF 문서 암호화
웹 서비스 API를 사용하여 인증서로 PDF 문서 암호화
Java API를 사용하여 인증서로 PDF 문서 암호화 encrypt-a-pdf-document-with-a-certificate-using-the-java-api
암호화 API(Java)를 사용하여 인증서로 PDF 문서를 암호화합니다.
-
프로젝트 파일을 포함합니다.
Java 프로젝트의 클래스 경로에 adobe-encryption-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
-
암호화 클라이언트 API 개체를 만듭니다.
- 만들기
ServiceClientFactory연결 속성을 포함하는 객체입니다. - 만들기
EncryptionServiceClient생성자를 사용하여 객체를 전달하고ServiceClientFactory개체.
- 만들기
-
암호화할 PDF 문서를 가져옵니다.
- 만들기
java.io.FileInputStream생성자를 사용하고 PDF 문서의 위치를 지정하는 문자열 값을 전달하여 암호화할 PDF 문서를 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream개체.
- 만들기
-
인증서를 참조합니다.
- 만들기
java.util.List생성자를 사용하여 권한 정보를 저장하는 개체입니다. - 암호화된 문서와 연결된 권한을
java.util.List개체add메서드 및 전달CertificateEncryptionPermissions보안 PDF 문서를 여는 사용자에게 부여된 권한을 나타내는 열거형 값입니다. 예를 들어 모든 권한을 지정하려면CertificateEncryptionPermissions.PKI_ALL_PERM. - 만들기
Recipient생성자를 사용하여 개체를 작성합니다. - 만들기
java.io.FileInputStream생성자를 사용하여 PDF 문서를 암호화하고 인증서의 위치를 지정하는 문자열 값을 전달하여 인증서 문서를 암호화하는 데 사용되는 인증서를 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream인증서를 나타내는 개체입니다. - 를 호출합니다
Recipient개체setX509Cert메서드 및 전달com.adobe.idp.Document인증서가 포함된 객체입니다. (또한,Recipient객체에는 Truststore 인증서 별칭 또는 LDAP URL이 인증서 소스로 있을 수 있습니다.) - 만들기
CertificateEncryptionIdentity생성자를 사용하여 권한 및 인증서 정보를 저장하는 개체입니다. - 를 호출합니다
CertificateEncryptionIdentity개체setPerms메서드 및 전달java.util.List권한 정보를 저장하는 개체입니다. - 를 호출합니다
CertificateEncryptionIdentity개체setRecipient메서드 및 전달Recipient인증서 정보를 저장하는 개체입니다. - 만들기
java.util.List생성자를 사용하여 인증서 정보를 저장하는 개체입니다. - 를 호출합니다
java.util.List개체의 add 메서드 및CertificateEncryptionIdentity개체. (이 값java.util.List개체는 매개 변수로encryptPDFUsingCertificates메서드를 사용합니다.)
- 만들기
-
암호화 런타임 옵션을 설정합니다.
- 만들기
CertificateEncryptionOptionSpec개체를 생성자로 호출하여 개체를 가져옵니다. - 를 호출하여 암호화할 PDF 문서 리소스를 지정합니다
CertificateEncryptionOptionSpec개체setOption메서드 및 전달CertificateEncryptionOption암호화할 문서 리소스를 지정하는 열거형 값입니다. 예를 들어, 메타데이터와 첨부 파일을 포함하여 전체 PDF 문서를 암호화하려면CertificateEncryptionOption.ALL. - 를 호출하여 Acrobat 호환성 옵션을 지정합니다
CertificateEncryptionOptionSpec개체setCompat메서드 및 전달CertificateEncryptionCompatibilityAcrobat 호환성 수준을 지정하는 열거형 값입니다. 예를 들어CertificateEncryptionCompatibility.ACRO_7.
- 만들기
-
인증서로 암호화된 PDF 문서를 만듭니다.
인증서를 호출하여 PDF 문서를 암호화합니다
EncryptionServiceClient개체encryptPDFUsingCertificates메서드 및 다음 값 전달:- 다음
com.adobe.idp.Document암호화할 PDF 문서가 포함된 객체입니다. - 다음
java.util.List인증서 정보를 저장하는 개체입니다. - 다음
CertificateEncryptionOptionSpec암호화 런타임 옵션이 포함된 객체입니다.
다음
encryptPDFUsingCertificates메서드 반환com.adobe.idp.Document인증서가 암호화된 PDF 문서를 포함하는 개체입니다. - 다음
-
암호화된 PDF 문서를 PDF 파일로 저장합니다.
- 만들기
java.io.File개체 및 파일 이름 확장명이 .pdf인지 확인합니다. - 를 호출합니다
com.adobe.idp.Document개체copyToFile컨텐츠의 내용 복사 방법com.adobe.idp.Document개체를 파일로 가져올 수 있습니다. 를 사용해야 합니다com.adobe.idp.Document반환되는 개체encryptPDFUsingCertificates메서드를 사용합니다.
- 만들기
추가 참조
빠른 시작(SOAP 모드): Java API를 사용하여 인증서로 PDF 문서 암호화
웹 서비스 API를 사용하여 인증서로 PDF 문서 암호화 encrypt-a-pdf-document-with-a-certificate-using-the-web-service-api
암호화 API(웹 서비스)를 사용하여 인증서로 PDF 문서를 암호화합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다.
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE 바꾸기 localhost(AEM Forms을 호스팅하는 서버의 IP 주소 사용) -
암호화 클라이언트 API 개체를 만듭니다.
-
만들기
EncryptionServiceClient기본 생성자를 사용하여 개체를 만듭니다. -
만들기
EncryptionServiceClient.Endpoint.Address개체를System.ServiceModel.EndpointAddress생성자입니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/EncryptionService?WSDL) 를 사용할 필요가 없습니다lc_version속성을 사용합니다. 이 속성은 서비스 참조를 생성할 때 사용됩니다.) -
만들기
System.ServiceModel.BasicHttpBinding개체의 값을 가져와서EncryptionServiceClient.Endpoint.Binding필드. 반환 값을 다음으로 캐스팅합니다.BasicHttpBinding. -
설정
System.ServiceModel.BasicHttpBinding개체MessageEncoding필드 대상WSMessageEncoding.Mtom. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
- 필드에 AEM Forms 사용자 이름을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.UserName. - 필드에 해당 암호 값을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.Password. - 상수 값 할당
HttpClientCredentialType.Basic아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Transport.ClientCredentialType. - 상수 값 할당
BasicHttpSecurityMode.TransportCredentialOnly아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Security.Mode.
- 필드에 AEM Forms 사용자 이름을 지정합니다
-
-
암호화할 PDF 문서를 가져옵니다.
- 만들기
BLOB생성자를 사용하여 개체를 작성합니다. 다음BLOB인증서는 인증서로 암호화된 PDF 문서를 저장하는 데 사용됩니다. - 만들기
System.IO.FileStream객체를 사용하여 생성자를 호출하고 암호화할 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체를 할당하여 개체를 개체 개체MTOM바이트 배열의 내용을 포함하는 속성입니다.
- 만들기
-
인증서를 참조합니다.
- 만들기
Recipient생성자를 사용하여 개체를 작성합니다. 이 개체는 인증서 정보를 저장합니다. - 만들기
BLOB생성자를 사용하여 개체를 작성합니다. 이BLOB개체는 PDF 문서를 암호화하는 인증서를 저장합니다. - 만들기
System.IO.FileStream객체를 사용하여 생성자를 호출하고 인증서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체BLOB개체MTOM데이터 멤버. - 을(를) 지정합니다.
BLOB인증서를Recipient개체x509Cert데이터 멤버. - 만들기
CertificateEncryptionIdentity생성자를 사용하여 인증서 정보를 저장하는 개체입니다. - 을(를) 지정합니다.
Recipient인증서를CertificateEncryptionIdentity개체의 받는 사람 데이터 구성원입니다. - 만들기
Object배열 및 할당CertificateEncryptionIdentity개체의 첫 번째 요소에 대한 개체Object배열입니다. 이Object배열은 매개 변수로encryptPDFUsingCertificates메서드를 사용합니다.
- 만들기
-
암호화 런타임 옵션을 설정합니다.
- 만들기
CertificateEncryptionOptionSpec생성자를 사용하여 개체를 작성합니다. - 를 할당하여 암호화할 PDF 문서 리소스를 지정합니다
CertificateEncryptionOption열거형 값CertificateEncryptionOptionSpec개체option데이터 멤버. 메타데이터와 첨부 파일을 포함하여 전체 PDF 문서를 암호화하려면CertificateEncryptionOption.ALL이 데이터 멤버에 대한 매핑입니다. - Acrobat 호환성 옵션을 지정하려면
CertificateEncryptionCompatibility열거형 값CertificateEncryptionOptionSpec개체compat데이터 멤버. 예를 들어,CertificateEncryptionCompatibility.ACRO_7이 데이터 멤버에 대한 매핑입니다.
- 만들기
-
인증서로 암호화된 PDF 문서를 만듭니다.
인증서를 호출하여 PDF 문서를 암호화합니다
EncryptionServiceService개체encryptPDFUsingCertificates메서드 및 다음 값 전달:- 다음
BLOB암호화할 PDF 문서가 포함된 객체입니다. - 다음
Object인증서 정보를 저장하는 배열입니다. - 다음
CertificateEncryptionOptionSpec암호화 런타임 옵션이 포함된 객체입니다.
다음
encryptPDFUsingCertificates메서드 반환BLOB인증서가 암호화된 PDF 문서를 포함하는 개체입니다. - 다음
-
암호화된 PDF 문서를 PDF 파일로 저장합니다.
- 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 보안 PDF 문서의 파일 위치를 나타내는 문자열 값을 전달합니다. - 의 데이터 내용을 저장하는 바이트 배열을 만듭니다
BLOB반환되는 개체encryptPDFUsingCertificates메서드를 사용합니다. 의 값을 가져와서 바이트 배열을 채웁니다BLOB개체binaryData데이터 멤버. - 만들기
System.IO.BinaryWriter생성자를 호출하고 전달하여 개체를System.IO.FileStream개체. - 를 호출하여 PDF 파일에 바이트 배열의 내용을 씁니다.
System.IO.BinaryWriter개체Write메서드를 사용하여 바이트 배열을 전달합니다.
- 만들기
추가 참조
인증서 기반 암호화 제거 removing-certificate-based-encryption
PDF 문서에서 인증서 기반 암호화를 제거하여 Adobe Reader 또는 Acrobat에서 PDF 문서를 열 수 있습니다. 인증서로 암호화된 PDF 문서에서 암호화를 제거하려면 공개 키를 참조해야 합니다. PDF 문서에서 암호화를 제거한 후에는 더 이상 안전하지 않습니다.
단계 요약 summary_of_steps-2
PDF 문서에서 인증서 기반 암호화를 제거하려면 다음 단계를 수행하십시오.
- 프로젝트 파일을 포함합니다.
- 암호화 서비스 클라이언트를 만듭니다.
- 암호화된 PDF 문서를 가져옵니다.
- 암호화를 제거합니다.
- PDF 문서를 PDF 파일로 저장합니다.
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함합니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함하십시오. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
프로젝트의 클래스 경로에 다음 JAR 파일을 추가해야 합니다.
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
- jbossall-client.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
암호화 서비스 클라이언트 만들기
암호화 서비스 작업을 프로그래밍 방식으로 수행하려면 암호화 서비스 클라이언트를 만들어야 합니다. Java 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncrytionServiceClient 개체. 웹 서비스 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncryptionServiceService 개체.
암호화된 PDF 문서 가져오기
인증서 기반 암호화를 제거하려면 암호화된 PDF 문서를 가져와야 합니다. 암호화되지 않은 PDF 문서에서 암호화를 제거하려고 하면 예외가 발생합니다. 마찬가지로, 암호로 암호화된 문서에서 인증서 기반 암호화를 제거하려고 하면 예외가 발생합니다.
암호화 제거
암호화된 PDF 문서에서 인증서 기반 암호화를 제거하려면 암호화된 PDF 문서와 PDF 문서를 암호화하는 데 사용된 키에 해당하는 개인 키가 모두 필요합니다. 암호화된 PDF 문서에서 인증서 기반 암호화를 제거할 때 개인 키의 별칭 값이 지정됩니다. 공개 키에 대한 자세한 내용은 인증서를 사용하여 PDF 문서 암호화.
PDF 문서를 저장합니다
암호화된 PDF 문서에서 인증서 기반 암호화를 제거한 후 PDF 문서를 PDF 파일로 저장할 수 있습니다. 사용자는 Adobe Reader 또는 Acrobat에서 PDF 문서를 열 수 있습니다.
추가 참조
Java API를 사용하여 인증서 기반 암호화 제거 remove-certificate-based-encryption-using-the-java-api
암호화 API(Java)를 사용하여 PDF 문서에서 인증서 기반 암호화를 제거합니다.
-
프로젝트 파일을 포함합니다.
Java 프로젝트의 클래스 경로에 adobe-encryption-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
-
암호화 서비스 클라이언트를 만듭니다.
- 만들기
ServiceClientFactory연결 속성을 포함하는 객체입니다. - 만들기
EncryptionServiceClient생성자를 사용하여 객체를 전달하고ServiceClientFactory개체.
- 만들기
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
java.io.FileInputStream해당 생성자를 사용하여 암호화된 PDF 문서를 나타내고 암호화된 PDF 문서의 위치를 지정하는 문자열 값을 전달함으로써 암호화된 문서를 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream개체.
- 만들기
-
암호화를 제거합니다.
를 호출하여 PDF 문서에서 인증서 기반 암호화를 제거합니다
EncryptionServiceClient개체removePDFCertificateSecurity메서드 및 다음 값 전달:- 다음
com.adobe.idp.Document암호화된 PDF 문서를 포함하는 객체입니다. - PDf 문서를 암호화하는 데 사용되는 키에 해당하는 개인 키의 별칭 이름을 지정하는 문자열 값입니다.
다음
removePDFCertificateSecurity메서드 반환com.adobe.idp.Document비보안 PDF 문서를 포함하는 객체입니다. - 다음
-
PDF 문서를 저장합니다.
- 만들기
java.io.File개체 및 파일 확장명이 .pdf인지 확인합니다. - 를 호출합니다
com.adobe.idp.Document개체copyToFile컨텐츠의 내용 복사 방법Document개체를 파일로 가져올 수 있습니다. 를 사용해야 합니다com.adobe.idp.Document반환되는 개체removePDFCredentialSecurity메서드를 사용합니다.
- 만들기
추가 참조
빠른 시작(SOAP 모드): Java API를 사용하여 인증서 기반 암호화 제거
웹 서비스 API를 사용하여 인증서 기반 암호화 제거 remove-certificate-based-encryption-using-the-web-service-api
암호화 API(웹 서비스)를 사용하여 인증서 기반 암호화를 제거합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다.
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE 바꾸기 localhost(AEM Forms을 호스팅하는 서버의 IP 주소 사용) -
암호화 서비스 클라이언트를 만듭니다.
-
만들기
EncryptionServiceClient기본 생성자를 사용하여 개체를 만듭니다. -
만들기
EncryptionServiceClient.Endpoint.Address개체를System.ServiceModel.EndpointAddress생성자입니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/EncryptionService?WSDL) 를 사용할 필요가 없습니다lc_version속성을 사용합니다. 이 속성은 서비스 참조를 생성할 때 사용됩니다.) -
만들기
System.ServiceModel.BasicHttpBinding개체의 값을 가져와서EncryptionServiceClient.Endpoint.Binding필드. 반환 값을 다음으로 캐스팅합니다.BasicHttpBinding. -
설정
System.ServiceModel.BasicHttpBinding개체MessageEncoding필드 대상WSMessageEncoding.Mtom. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
- 필드에 AEM Forms 사용자 이름을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.UserName. - 필드에 해당 암호 값을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.Password. - 상수 값 할당
HttpClientCredentialType.Basic아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Transport.ClientCredentialType. - 상수 값 할당
BasicHttpSecurityMode.TransportCredentialOnly아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Security.Mode.
- 필드에 AEM Forms 사용자 이름을 지정합니다
-
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
BLOB생성자를 사용하여 개체를 작성합니다. 다음BLOB개체는 암호화된 PDF 문서를 저장하는 데 사용됩니다. - 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 암호화된 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체BLOB개체MTOM데이터 멤버.
- 만들기
-
암호화를 제거합니다.
를 호출합니다
EncryptionServiceClient개체removePDFCertificateSecurity메서드를 사용하여 다음 값을 전달합니다.- 다음
BLOB암호화된 PDF 문서를 나타내는 파일 스트림 데이터를 포함하는 객체입니다. - PDf 문서를 암호화하는 데 사용되는 개인 키에 해당하는 공개 키의 별칭 이름을 지정하는 문자열 값입니다.
다음
removePDFCredentialSecurity메서드 반환BLOB비보안 PDF 문서를 포함하는 객체입니다. - 다음
-
PDF 문서를 저장합니다.
- 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 비보안 PDF 문서의 파일 위치를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
BLOB반환되는 개체removePDFPasswordSecurity메서드를 사용합니다. 의 값을 가져와서 바이트 배열을 채웁니다BLOB개체MTOM데이터 멤버. - 만들기
System.IO.BinaryWriter생성자를 호출하고 전달하여 개체를System.IO.FileStream개체. - 를 호출하여 PDF 파일에 바이트 배열의 내용을 씁니다.
System.IO.BinaryWriter개체Write메서드를 사용하여 바이트 배열을 전달합니다.
- 만들기
추가 참조
암호 암호화 제거 removing-password-encryption
암호 기반 암호화를 PDF 문서에서 제거할 수 있으므로 사용자가 암호를 지정하지 않고도 Adobe Reader 또는 Acrobat에서 PDF 문서를 열 수 있습니다. PDF 문서에서 암호 기반 암호화를 제거한 후에는 문서가 더 이상 안전하지 않습니다.
단계 요약 summary_of_steps-3
PDF 문서에서 암호 기반 암호화를 제거하려면 다음 단계를 수행하십시오.
- 프로젝트 파일 포함
- 암호화 서비스 클라이언트를 만듭니다.
- 암호화된 PDF 문서를 가져옵니다.
- 암호를 제거합니다.
- PDF 문서를 PDF 파일로 저장합니다.
프로젝트 파일 포함
필요한 파일을 개발 프로젝트에 포함합니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함하십시오. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
프로젝트의 클래스 경로에 다음 JAR 파일을 추가해야 합니다.
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar(AEM Forms이 JBoss에 배포된 경우 필수)
- jbossall-client.jar(AEM Forms이 JBoss에 배포되는 경우 필요)
암호화 서비스 클라이언트 만들기
암호화 서비스 작업을 프로그래밍 방식으로 수행하려면 암호화 서비스 클라이언트를 만들어야 합니다. Java 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncrytionServiceClient 개체. 웹 서비스 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncryptionServiceService 개체.
암호화된 PDF 문서 가져오기
암호 기반 암호화를 제거하려면 암호화된 PDF 문서를 가져와야 합니다. 암호화되지 않은 PDF 문서에서 암호화를 제거하려고 하면 예외가 발생합니다.
암호 제거
암호화된 PDF 문서에서 암호 기반 암호화를 제거하려면 암호화된 PDF 문서와 PDF 문서에서 암호화를 제거하는 데 사용되는 마스터 암호 값이 모두 필요합니다. 암호로 암호화된 PDF 문서를 여는 데 사용되는 암호를 사용하여 암호화를 제거할 수 없습니다. PDF 문서가 암호로 암호화될 때 마스터 암호가 지정됩니다. (자세한 내용은 암호로 PDF 문서 암호화)
PDF 문서를 저장합니다
암호화 서비스가 PDF 문서에서 암호 기반 암호화를 제거한 후 PDF 문서를 PDF 파일로 저장할 수 있습니다. 사용자는 암호를 지정하지 않고 Adobe Reader 또는 Acrobat에서 PDF 문서를 열 수 있습니다.
추가 참조
Java API를 사용하여 암호 기반 암호화 제거 remove-password-based-encryption-using-the-java-api
암호화 API(Java)를 사용하여 PDF 문서에서 암호 기반 암호화를 제거합니다.
-
프로젝트 파일을 포함합니다.
Java 프로젝트의 클래스 경로에 adobe-encryption-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
-
암호화 서비스 클라이언트를 만듭니다.
- 만들기
ServiceClientFactory연결 속성을 포함하는 객체입니다. - 만들기
EncryptionServiceClient생성자를 사용하여 객체를 전달하고ServiceClientFactory개체.
- 만들기
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
java.io.FileInputStream생성자를 사용하여 암호화된 PDF 문서를 나타내고 PDF 문서의 위치를 지정하는 문자열 값을 전달하여 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream개체.
- 만들기
-
암호를 제거합니다.
를 호출하여 PDF 문서에서 암호 기반 암호화를 제거합니다
EncryptionServiceClient개체removePDFPasswordSecurity메서드 및 다음 값 전달:- A
com.adobe.idp.Document암호화된 PDF 문서를 포함하는 객체입니다. - PDF 문서에서 암호화를 제거하는 데 사용되는 마스터 암호 값을 지정하는 문자열 값입니다.
다음
removePDFPasswordSecurity메서드 반환com.adobe.idp.Document비보안 PDF 문서를 포함하는 객체입니다. - A
-
PDF 문서를 저장합니다.
- 만들기
java.io.File개체 및 파일 이름 확장명이 .pdf인지 확인합니다. - 를 호출합니다
com.adobe.idp.Document개체copyToFile컨텐츠의 내용 복사 방법Document개체를 파일로 가져올 수 있습니다. 를 사용해야 합니다Document반환되는 개체removePDFPasswordSecurity메서드를 사용합니다.
- 만들기
추가 참조
빠른 시작(SOAP 모드): Java API를 사용하여 암호 기반 암호화 제거
웹 서비스 API를 사용하여 암호 기반 암호화 제거 remove-password-based-encryption-using-the-web-service-api
암호화 API(웹 서비스)를 사용하여 암호 기반 암호화를 제거합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다.
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE 바꾸기 localhost(AEM Forms을 호스팅하는 서버의 IP 주소 사용) -
암호화 서비스 클라이언트를 만듭니다.
-
만들기
EncryptionServiceClient기본 생성자를 사용하여 개체를 만듭니다. -
만들기
EncryptionServiceClient.Endpoint.Address개체를System.ServiceModel.EndpointAddress생성자입니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/EncryptionService?WSDL) 를 사용할 필요가 없습니다lc_version속성을 사용합니다. 이 속성은 서비스 참조를 생성할 때 사용됩니다.) -
만들기
System.ServiceModel.BasicHttpBinding개체의 값을 가져와서EncryptionServiceClient.Endpoint.Binding필드. 반환 값을 다음으로 캐스팅합니다.BasicHttpBinding. -
설정
System.ServiceModel.BasicHttpBinding개체MessageEncoding필드 대상WSMessageEncoding.Mtom. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
- 필드에 AEM Forms 사용자 이름을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.UserName. - 필드에 해당 암호 값을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.Password. - 상수 값 할당
HttpClientCredentialType.Basic아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Transport.ClientCredentialType. - 상수 값 할당
BasicHttpSecurityMode.TransportCredentialOnly아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Security.Mode.
- 필드에 AEM Forms 사용자 이름을 지정합니다
-
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
BLOB생성자를 사용하여 개체를 작성합니다. 다음BLOB객체는 암호로 암호화된 PDF 문서를 저장하는 데 사용됩니다. - 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 암호화된 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체BLOB개체MTOM데이터 멤버.
- 만들기
-
암호를 제거합니다.
를 호출합니다
EncryptionServiceService개체removePDFPasswordSecurity메서드를 사용하여 다음 값을 전달합니다.- 다음
BLOB암호화된 PDF 문서를 나타내는 파일 스트림 데이터를 포함하는 객체입니다. - PDF 문서에서 암호화를 제거하는 데 사용되는 암호 값을 지정하는 문자열 값입니다. 이 값은 암호로 PDF 문서를 암호화할 때 지정됩니다.
다음
removePDFPasswordSecurity메서드 반환BLOB비보안 PDF 문서를 포함하는 객체입니다. - 다음
-
PDF 문서를 저장합니다.
- 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 비보안 PDF 문서의 파일 위치를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
BLOB반환되는 개체removePDFPasswordSecurity메서드를 사용합니다. 의 값을 가져와서 바이트 배열을 채웁니다BLOB개체MTOM데이터 멤버. - 만들기
System.IO.BinaryWriter생성자를 호출하고 전달하여 개체를System.IO.FileStream개체. - 를 호출하여 PDF 파일에 바이트 배열의 내용을 씁니다.
System.IO.BinaryWriter개체Write메서드를 사용하여 바이트 배열을 전달합니다.
- 만들기
추가 참조
암호화된 PDF 문서 잠금 해제 unlocking-encrypted-pdf-documents
암호 암호화 또는 인증서를 암호화한 PDF 문서에 대해 다른 AEM Forms 작업을 수행하려면 먼저 잠금을 해제해야 합니다. 암호화된 PDF 문서에 대해 작업을 수행하려고 하면 예외가 생성됩니다. 암호화된 PDF 문서의 잠금을 해제하면 해당 문서에 대해 하나 이상의 작업을 수행할 수 있습니다. 이러한 작업은 Acrobat Reader DC 확장 서비스 등의 다른 서비스에 속할 수 있습니다.
단계 요약 summary_of_steps-4
암호화된 PDF 문서의 잠금을 해제하려면 다음 단계를 수행하십시오.
- 프로젝트 파일을 포함합니다.
- 암호화 서비스 클라이언트를 만듭니다.
- 암호화된 PDF 문서를 가져옵니다.
- 문서의 잠금을 해제합니다.
- AEM Forms 작업을 수행합니다.
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함합니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함하십시오. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
프로젝트의 클래스 경로에 다음 JAR 파일을 추가해야 합니다.
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
- jbossall-client.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
암호화 서비스 클라이언트 만들기
암호화 서비스 작업을 프로그래밍 방식으로 수행하려면 암호화 서비스 클라이언트를 만들어야 합니다. Java 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncrytionServiceClient 개체. 웹 서비스 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncryptionServiceService 개체.
암호화된 PDF 문서 가져오기
잠금을 해제하려면 암호화된 PDF 문서를 가져와야 합니다. 암호화되지 않은 PDF 문서의 잠금을 해제하려고 하면 예외가 발생합니다.
문서 잠금 해제
암호로 암호화된 PDF 문서의 잠금을 해제하려면 암호화된 PDF 문서와 암호로 암호화된 PDF 문서를 여는 데 사용되는 암호 값이 모두 필요합니다. 이 값은 암호로 PDF 문서를 암호화할 때 지정됩니다. (자세한 내용은 암호로 PDF 문서 암호화)
인증서로 암호화된 PDF 문서의 잠금을 해제하려면 암호화된 PDF 문서와 PDF 문서를 암호화하는 데 사용된 개인 키에 해당하는 공개 키의 별칭 값이 모두 필요합니다.
AEM Forms 작업 수행
암호화된 PDF 문서의 잠금이 해제된 후 해당 문서에 사용 권한을 적용하는 등의 다른 서비스 작업을 수행할 수 있습니다. 이 작업은 Acrobat Reader DC 확장 서비스에 속합니다.
추가 참조
Java API를 사용하여 암호화된 PDF 문서 잠금 해제
웹 서비스 API를 사용하여 암호화된 PDF 문서 잠금 해제
Java API를 사용하여 암호화된 PDF 문서 잠금 해제 unlock-an-encrypted-pdf-document-using-the-java-api
암호화 API(Java)를 사용하여 암호화된 PDF 문서의 잠금을 해제합니다.
-
프로젝트 파일을 포함합니다.
Java 프로젝트의 클래스 경로에 adobe-encryption-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
-
암호화 서비스 클라이언트를 만듭니다.
- 만들기
ServiceClientFactory연결 속성을 포함하는 객체입니다. - 만들기
EncryptionServiceClient생성자를 사용하여 객체를 전달하고ServiceClientFactory개체.
- 만들기
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
java.io.FileInputStream해당 생성자를 사용하여 암호화된 PDF 문서를 나타내고 암호화된 PDF 문서의 위치를 지정하는 문자열 값을 전달함으로써 암호화된 문서를 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream개체.
- 만들기
-
문서의 잠금을 해제합니다.
를 호출하여 암호화된 PDF 문서의 잠금을 해제합니다
EncryptionServiceClient개체unlockPDFUsingPassword또는unlockPDFUsingCredential메서드를 사용합니다.암호로 암호화된 PDF 문서의 잠금을 해제하려면
unlockPDFUsingPassword메서드를 사용하여 다음 값을 전달합니다.- A
com.adobe.idp.Document암호로 암호화된 PDF 문서를 포함하는 객체입니다. - 암호로 암호화된 PDF 문서를 여는 데 사용되는 암호 값을 지정하는 문자열 값입니다. 이 값은 암호로 PDF 문서를 암호화할 때 지정됩니다.
인증서로 암호화된 PDF 문서의 잠금을 해제하려면
unlockPDFUsingCredential메서드를 사용하여 다음 값을 전달합니다.- A
com.adobe.idp.Document인증서 암호화 PDF 문서를 포함하는 객체입니다. - PDF 문서를 암호화하는 데 사용되는 개인 키에 해당하는 공개 키의 별칭 이름을 지정하는 문자열 값입니다.
다음
unlockPDFUsingPassword및unlockPDFUsingCredential메서드를 모두 반환합니다.com.adobe.idp.Document작업을 수행하기 위해 다른 AEM Forms Java 메서드에 전달하는 개체입니다. - A
-
AEM Forms 작업을 수행합니다.
비즈니스 요구 사항을 충족하기 위해 잠금 해제된 PDF 문서에서 AEM Forms 작업을 수행합니다. 예를 들어 잠금 해제된 PDF 문서에 사용 권한을 적용하려는 경우
com.adobe.idp.Document다음 중 하나에서 반환되는 개체unlockPDFUsingPassword또는unlockPDFUsingCredential메서드를ReaderExtensionsServiceClient개체applyUsageRights메서드를 사용합니다.
추가 참조
빠른 시작(SOAP 모드): Java API를 사용하여 암호화된 PDF 문서 잠금 해제 (SOAP 모드)
웹 서비스 API를 사용하여 암호화된 PDF 문서 잠금 해제 unlock-an-encrypted-pdf-document-using-the-web-service-api
암호화 API(웹 서비스)를 사용하여 암호화된 PDF 문서의 잠금을 해제합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다.
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE 바꾸기 localhost(AEM Forms을 호스팅하는 서버의 IP 주소 사용) -
암호화 서비스 클라이언트를 만듭니다.
-
만들기
EncryptionServiceClient기본 생성자를 사용하여 개체를 만듭니다. -
만들기
EncryptionServiceClient.Endpoint.Address개체를System.ServiceModel.EndpointAddress생성자입니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/EncryptionService?WSDL) 를 사용할 필요가 없습니다lc_version속성을 사용합니다. 이 속성은 서비스 참조를 생성할 때 사용됩니다.) -
만들기
System.ServiceModel.BasicHttpBinding개체의 값을 가져와서EncryptionServiceClient.Endpoint.Binding필드. 반환 값을 다음으로 캐스팅합니다.BasicHttpBinding. -
설정
System.ServiceModel.BasicHttpBinding개체MessageEncoding필드 대상WSMessageEncoding.Mtom. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
- 필드에 AEM Forms 사용자 이름을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.UserName. - 필드에 해당 암호 값을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.Password. - 상수 값 할당
HttpClientCredentialType.Basic아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Transport.ClientCredentialType. - 상수 값 할당
BasicHttpSecurityMode.TransportCredentialOnly아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Security.Mode.
- 필드에 AEM Forms 사용자 이름을 지정합니다
-
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
BLOB생성자를 사용하여 개체를 작성합니다. - 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 암호화된 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체BLOB개체MTOM데이터 멤버.
- 만들기
-
문서의 잠금을 해제합니다.
를 호출하여 암호화된 PDF 문서의 잠금을 해제합니다
EncryptionServiceClient개체unlockPDFUsingPassword또는unlockPDFUsingCredential메서드를 사용합니다.암호로 암호화된 PDF 문서의 잠금을 해제하려면
unlockPDFUsingPassword메서드를 사용하여 다음 값을 전달합니다.- A
BLOB암호로 암호화된 PDF 문서를 포함하는 객체입니다. - 암호로 암호화된 PDF 문서를 여는 데 사용되는 암호 값을 지정하는 문자열 값입니다. 이 값은 암호로 PDF 문서를 암호화할 때 지정됩니다.
인증서로 암호화된 PDF 문서의 잠금을 해제하려면
unlockPDFUsingCredential메서드를 사용하여 다음 값을 전달합니다.- A
BLOB인증서 암호화 PDF 문서를 포함하는 객체입니다. - PDf 문서를 암호화하는 데 사용되는 개인 키에 해당하는 공개 키의 별칭 이름을 지정하는 문자열 값입니다.
다음
unlockPDFUsingPassword및unlockPDFUsingCredential메서드를 모두 반환합니다.com.adobe.idp.Document작업을 수행하기 위해 다른 AEM Forms 메서드에 전달하는 개체입니다. - A
-
AEM Forms 작업을 수행합니다.
비즈니스 요구 사항을 충족하기 위해 잠금 해제된 PDF 문서에서 AEM Forms 작업을 수행합니다. 예를 들어 잠금 해제된 PDF 문서에 사용 권한을 적용하려는 경우
BLOB다음 중 하나에서 반환되는 개체unlockPDFUsingPassword또는unlockPDFUsingCredential메서드를ReaderExtensionsServiceClient개체applyUsageRights메서드를 사용합니다.
추가 참조
암호화 유형 확인 determining-encryption-type
Java Encryption Service API 또는 웹 서비스 암호화 서비스 API를 사용하여 PDF 문서를 보호하는 암호화 유형을 프로그래밍 방식으로 결정할 수 있습니다. PDF 문서가 암호화되어 있는지 여부 및 암호화 유형이 암호화되어 있는지 여부를 동적으로 확인해야 하는 경우가 있습니다. 예를 들어 PDF 문서가 암호 기반 암호화로 보호되는지 또는 Rights Management 정책으로 보호되는지를 확인할 수 있습니다.
PDF 문서는 다음 암호화 유형으로 보호될 수 있습니다.
- 암호 기반 암호화
- 인증서 기반 암호화
- Rights Management 서비스에서 만든 정책
- 다른 유형의 암호화
단계 요약 summary_of_steps-5
PDF 문서를 보호하는 암호화 유형을 확인하려면 다음 단계를 수행하십시오.
- 프로젝트 파일을 포함합니다.
- 암호화 서비스 클라이언트를 만듭니다.
- 암호화된 PDF 문서를 가져옵니다.
- 암호화 유형을 결정합니다.
프로젝트 파일 포함
개발 프로젝트에 필요한 파일을 포함합니다. Java를 사용하여 클라이언트 응용 프로그램을 만드는 경우 필요한 JAR 파일을 포함하십시오. 웹 서비스를 사용하는 경우 프록시 파일을 포함해야 합니다.
프로젝트의 클래스 경로에 다음 JAR 파일을 추가해야 합니다.
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-encryption-client.jar
- adobe-utilities.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
- jbossall-client.jar(AEM Forms이 JBoss Application Server에 배포되는 경우 필수)
서비스 클라이언트 만들기
암호화 서비스 작업을 프로그래밍 방식으로 수행하려면 암호화 서비스 클라이언트를 만들어야 합니다. Java 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncrytionServiceClient 개체. 웹 서비스 암호화 서비스 API를 사용하는 경우 다음을 생성합니다 EncryptionServiceService 개체.
암호화된 PDF 문서 가져오기
보호 중인 암호화 유형을 확인하려면 PDF 문서를 가져와야 합니다.
암호화 유형 확인
PDF 문서를 보호하는 암호화 유형을 확인할 수 있습니다. PDF 문서가 보호되지 않으면 암호화 서비스에서 PDF 문서가 보안되지 않았음을 알려줍니다.
추가 참조
Java API를 사용하여 암호화 유형 확인 determine-the-encryption-type-using-the-java-api
암호화 API(Java)를 사용하여 PDF 문서를 보호하는 암호화 유형을 결정합니다.
-
프로젝트 파일을 포함합니다.
Java 프로젝트의 클래스 경로에 adobe-encryption-client.jar와 같은 클라이언트 JAR 파일을 포함합니다.
-
서비스 클라이언트를 만듭니다.
- 만들기
ServiceClientFactory연결 속성을 포함하는 객체입니다. - 만들기
EncryptionServiceClient생성자를 사용하여 객체를 전달하고ServiceClientFactory개체.
- 만들기
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
java.io.FileInputStream생성자를 사용하여 PDF 문서를 나타내고 PDF 문서의 위치를 지정하는 문자열 값을 전달하여 문서를 나타내는 개체입니다. - 만들기
com.adobe.idp.Document생성자를 사용하여 객체를 전달하고java.io.FileInputStream개체.
- 만들기
-
암호화 유형을 결정합니다.
- 를 호출하여 암호화 유형을 확인합니다
EncryptionServiceClient개체getPDFEncryption메서드 및 전달com.adobe.idp.DocumentPDF 문서를 포함하는 객체입니다. 이 메서드는EncryptionTypeResult개체. - 를 호출합니다
EncryptionTypeResult개체getEncryptionType메서드를 사용합니다. 이 메서드는EncryptionType암호화 유형을 지정하는 열거형 값. 예를 들어 PDF 문서가 암호 기반 암호화로 보호되면 이 메서드는 를 반환합니다EncryptionType.PASSWORD.
- 를 호출하여 암호화 유형을 확인합니다
추가 참조
빠른 시작(SOAP 모드): Java API를 사용하여 암호화 유형 확인
웹 서비스 API를 사용하여 암호화 유형 확인 determine-the-encryption-type-using-the-web-service-api
암호화 API(웹 서비스)를 사용하여 PDF 문서를 보호하는 암호화 유형을 결정합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 다음 WSDL 정의를 사용해야 합니다.
http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1.note note NOTE 바꾸기 localhost(AEM Forms을 호스팅하는 서버의 IP 주소 사용) -
서비스 클라이언트를 만듭니다.
-
만들기
EncryptionServiceClient기본 생성자를 사용하여 개체를 만듭니다. -
만들기
EncryptionServiceClient.Endpoint.Address개체를System.ServiceModel.EndpointAddress생성자입니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/EncryptionService?WSDL) 를 사용할 필요가 없습니다lc_version속성을 사용합니다. 이 속성은 서비스 참조를 생성할 때 사용됩니다.) -
만들기
System.ServiceModel.BasicHttpBinding개체의 값을 가져와서EncryptionServiceClient.Endpoint.Binding필드. 반환 값을 다음으로 캐스팅합니다.BasicHttpBinding. -
설정
System.ServiceModel.BasicHttpBinding개체MessageEncoding필드 대상WSMessageEncoding.Mtom. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
- 필드에 AEM Forms 사용자 이름을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.UserName. - 필드에 해당 암호 값을 지정합니다
EncryptionServiceClient.ClientCredentials.UserName.Password. - 상수 값 할당
HttpClientCredentialType.Basic아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Transport.ClientCredentialType. - 상수 값 할당
BasicHttpSecurityMode.TransportCredentialOnly아래와 같이 변경하는 것을 의미합니다BasicHttpBindingSecurity.Security.Mode.
- 필드에 AEM Forms 사용자 이름을 지정합니다
-
-
암호화된 PDF 문서를 가져옵니다.
- 만들기
BLOB생성자를 사용하여 개체를 작성합니다. - 만들기
System.IO.FileStream객체를 사용하여 해당 생성자를 호출하고 암호화된 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. - 의 내용을 저장하는 바이트 배열을 만듭니다
System.IO.FileStream개체. 를 가져와서 바이트 배열의 크기를 결정할 수 있습니다System.IO.FileStream개체Length속성을 사용합니다. - 를 호출하여 바이트 배열을 스트림 데이터로 채웁니다
System.IO.FileStream개체Read바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하는 메서드와 전달 - 을(를) 채우기
BLOB개체BLOB개체MTOM데이터 멤버.
- 만들기
-
암호화 유형을 결정합니다.
- 를 호출합니다
EncryptionServiceClient개체getPDFEncryption메서드 및 전달BLOBPDF 문서를 포함하는 객체입니다. 이 메서드는EncryptionTypeResult개체. - 의 값 가져오기
EncryptionTypeResult개체encryptionType데이터 메서드. 예를 들어 PDF 문서가 암호 기반 암호화로 보호되면 이 데이터 멤버의 값은 다음과 같습니다EncryptionType.PASSWORD.
- 를 호출합니다
추가 참조