このドキュメントのサンプルと例は、JEE環境上のAEM Formsに対してのみ提供されています。
Encryptionサービスについて
Encryptionサービスを使用すると、ドキュメントの暗号化および復号化を行うことができます。 ドキュメントを暗号化すると、その内容は判読できなくなります。許可されたユーザーはドキュメントを復号化して、コンテンツにアクセスできます。PDF ドキュメントがパスワードで暗号化されている場合、ユーザーは開くためのパスワードを指定しないと、Adobe Reader または Adobe Acrobat でドキュメントを表示できません。同じように、PDF ドキュメントが証明書で暗号化されている場合も、ユーザーが PDF ドキュメントを復号化するには、その PDF ドキュメントの暗号化に使用された証明書(秘密鍵)に対応した公開鍵が必要です。
Encryptionサービスを使用して、次のタスクを実行できます。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
PDF ドキュメントをパスワードで暗号化する場合、ユーザーは Adobe Reader または Acrobat で PDF ドキュメントを開くためのパスワードを指定する必要があります。また、PDFドキュメントのデジタル署名など、別のAEM Forms操作をドキュメントで実行する前に、パスワードで暗号化されたPDFドキュメントをロック解除する必要があります。
暗号化されたPDFドキュメントをAEM Formsリポジトリにアップロードする場合、PDFドキュメントを復号化してXDPコンテンツを抽出することはできません。 ドキュメントをAEM Formsリポジトリにアップロードする前に、暗号化を行わないことをお勧めします。 (リソースの書き込みを参照)。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
PDFドキュメントをパスワードで暗号化するには、次の手順を実行します。
プロジェクトファイルを含める
開発プロジェクトに必要なファイルを含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めてください。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
暗号化クライアントAPIオブジェクトの作成
プログラムによってEncryptionサービスの操作を実行するには、Encryptionサービスクライアントを作成する必要があります。
暗号化するPDFドキュメントの取得
パスワードを使用してドキュメントを暗号化するには、暗号化されていないPDFドキュメントを取得する必要があります。 既に暗号化されているPDFドキュメントを保護しようとすると、例外が発生します。
暗号化の実行時オプションの設定
PDFドキュメントをパスワードで暗号化するには、2つのパスワード値を含む4つの値を指定します。 最初のパスワード値は、PDFドキュメントの暗号化に使用され、PDFドキュメントを開くときに指定する必要があります。 2番目のパスワード値は、マスターパスワード値という名前で、PDFドキュメントから暗号化を削除するために使用されます。 パスワードの値は大文字と小文字が区別されます。また、これらの2つのパスワード値を同じ値にすることはできません。
暗号化するPDFドキュメントリソースを指定する必要があります。 PDFドキュメント全体(ドキュメントのメタデータを除くすべて)またはドキュメントの添付ファイルのみを暗号化できます。 ドキュメントの添付ファイルのみを暗号化する場合、ユーザーが添付ファイルにアクセスしようとすると、パスワードの入力が求められます。
PDFドキュメントを暗号化する場合、保護されたドキュメントに関連付けられている権限を指定できます。 権限を指定すると、パスワードで暗号化されたPDFドキュメントを開いたユーザーに対して実行を許可するアクションを制御できます。 例えば、フォームデータを正しく抽出するには、次の権限を設定する必要があります。
権限はPasswordEncryptionPermission
定義済みリスト値として指定します。
追加パスワード
保護されていないPDFドキュメントを取得し、暗号化の実行時の値を設定したら、PDFドキュメントにパスワードを追加できます。
暗号化されたPDFドキュメントをPDFファイルとして保存します
パスワードで暗号化されたPDFドキュメントをPDFファイルとして保存できます。
関連トピック
Encryption API(Java)を使用して、PDFドキュメントをパスワードで暗号化します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-encryption-client.jarなどのクライアントJARファイルを含めます。
暗号化クライアントAPIの作成を参照してください。
ServiceClientFactory
オブジェクトを作成します。EncryptionServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。暗号化するPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。暗号化の実行時オプションを設定します。
PasswordEncryptionOptionSpec
オブジェクトを作成します。PasswordEncryptionOptionSpec
オブジェクトのsetEncryptOption
メソッドを呼び出し、暗号化するドキュメントリソースを指定するPasswordEncryptionOption
定義済みリスト値を渡して、暗号化するPDFドキュメントリソースを指定します。 例えば、メタデータと添付ファイルを含むPDFドキュメント全体を暗号化するには、PasswordEncryptionOption.ALL
を指定します。ArrayList
コンストラクターを使用して、暗号化の権限を格納するjava.util.List
オブジェクトを作成します。java.util.List
オブジェクト's add
メソッドを呼び出し、設定する権限に対応する定義済みリスト値を渡して、権限を指定します。 例えば、PDFドキュメント内のデータをユーザーがコピーできる権限を設定するには、PasswordEncryptionPermission.PASSWORD_EDIT_COPY
を指定します。 (設定する権限ごとに、この手順を繰り返します)。PasswordEncryptionOptionSpec
オブジェクトのsetCompatability
メソッドを呼び出し、Acrobatの互換性レベルを指定する定義済みリスト値を渡して、Acrobatの互換性オプションを指定します。 例えば、PasswordEncryptionCompatability.ACRO_7
を指定できます。PasswordEncryptionOptionSpec
オブジェクトのsetDocumentOpenPassword
メソッドを呼び出し、開くパスワードを表すstring値を渡すパスワード値を指定します。PasswordEncryptionOptionSpec
オブジェクトのsetPermissionPassword
メソッドを呼び出し、マスターパスワードを表す文字列値を渡すことで、PDFドキュメントから暗号化を削除できます。追加パスワード。
EncryptionServiceClient
オブジェクトのencryptPDFUsingPassword
メソッドを呼び出し、次の値を渡して、PDFドキュメントを暗号化します。
com.adobe.idp.Document
オブジェクトです。PasswordEncryptionOptionSpec
オブジェクトです。encryptPDFUsingPassword
メソッドは、パスワードで暗号化されたPDFドキュメントを含むcom.adobe.idp.Document
オブジェクトを返します。
暗号化されたPDFドキュメントをPDFファイルとして保存します。
java.io.File
オブジェクトを作成し、ファイル拡張子が .pdf であることを確認します。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトの内容をファイルにコピーします。 com.adobe.idp.Document
メソッドから返された encryptPDFUsingPassword
オブジェクトを必ず使用してください。関連トピック
クイック開始(SOAPモード):Java APIを使用したPDFドキュメントの暗号化
Encryption API(Webサービス)を使用して、PDFドキュメントをパスワードで暗号化します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
暗号化クライアントAPIオブジェクトを作成します。
EncryptionServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してEncryptionServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/EncryptionService?WSDL
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する場合に使用されます)。
EncryptionServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
EncryptionServiceClient.ClientCredentials.UserName.UserName
に割り当てます。EncryptionServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。暗号化するPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。BLOB
オブジェクトは、パスワードで暗号化されたPDFドキュメントを保存するために使用します。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトのMTOM
データメンバーに割り当てて、BLOB
オブジェクトを入力します。暗号化の実行時オプションを設定します。
PasswordEncryptionOptionSpec
オブジェクトを作成します。PasswordEncryptionOption
定義済みリスト値をPasswordEncryptionOptionSpec
オブジェクトのencryptOption
データメンバに割り当てます。 PDF全体(メタデータと添付ファイルを含む)を暗号化するには、このデータメンバーにPasswordEncryptionOption.ALL
を割り当てます。PasswordEncryptionCompatability
定義済みリスト値をPasswordEncryptionOptionSpec
オブジェクトのcompatability
データメンバに割り当てて、Acrobat互換性オプションを指定します。 例えば、PasswordEncryptionCompatability.ACRO_7
をこのデータメンバーに割り当てます。PasswordEncryptionOptionSpec
オブジェクトのdocumentOpenPassword
データメンバーに割り当てることによって指定します。PasswordEncryptionOptionSpec
オブジェクトのpermissionPassword
データメンバーに割り当てることで、PDFドキュメントから暗号化を削除できるように、password値を指定します。追加パスワード。
EncryptionServiceClient
オブジェクトのencryptPDFUsingPassword
メソッドを呼び出し、次の値を渡して、PDFドキュメントを暗号化します。
BLOB
オブジェクトです。PasswordEncryptionOptionSpec
オブジェクトです。encryptPDFUsingPassword
メソッドは、パスワードで暗号化されたPDFドキュメントを含むBLOB
オブジェクトを返します。
暗号化されたPDFドキュメントをPDFファイルとして保存します。
System.IO.FileStream
オブジェクトを作成します。encryptPDFUsingPassword
メソッドから返されたBLOB
オブジェクトのデータ内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
データメンバの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPDFファイルに書き込みます。関連トピック
証明書ベースの暗号化を使用すると、公開鍵による暗号化を使用して、特定の受信者用のドキュメントを暗号化できます。 それぞれの受信者に、異なる権限を与えることができます。公開鍵によって、さまざまな暗号化を行うことができます。アルゴリズムは、keysと呼ばれる、次のプロパティを持つ2つの大きな数値を生成するために使用します。
鍵の1つは、ユーザーの秘密鍵として機能します。 そのユーザーのみがこの鍵にアクセスできることが重要です。もう1つのキーはユーザーの公開鍵で、他のユーザーと共有できます。
公開鍵証明書には、ユーザーの公開鍵と識別情報が含まれます。 証明書の保存には、X.509 形式が使用されます。通常、証明書は認証局(CA)で発行および電子署名されます。CA は、証明書の有効性における信頼度を提供する、承認されたエンティティです。証明書には有効期限があり、この期限を過ぎると無効になります。また、証明書の失効リスト(CRL)には、有効期限よりも前に失効した証明書に関する情報が示されます。CRL は認証局によって定期的に発行されます。証明書の失効ステータスは、ネットワークを通じてオンライン証明書ステータスプロトコル(OCSP)から取得することもできます。
暗号化されたPDFドキュメントをAEM Formsリポジトリにアップロードする場合、PDFドキュメントを復号化してXDPコンテンツを抽出することはできません。 ドキュメントをAEM Formsリポジトリにアップロードする前に、暗号化を行わないことをお勧めします。 (リソースの書き込みを参照)。
PDFドキュメントを証明書で暗号化する前に、証明書をAEM Formsに追加しておく必要があります。 証明書は、管理コンソールを使用して、またはTrust Manager APIをプログラムで使用して追加します。 (「Trust Manager APIを使用した秘密鍵証明書の読み込み」を参照)。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
PDFドキュメントを証明書で暗号化するには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めてください。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
暗号化クライアントAPIオブジェクトの作成
プログラムによってEncryptionサービスの操作を実行するには、Encryptionサービスクライアントを作成する必要があります。 Java Encryption Service APIを使用している場合は、EncrytionServiceClient
オブジェクトを作成します。 WebサービスのEncryption Service 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ドキュメントの暗号化
WebサービスAPIを使用して、PDFドキュメントを証明書で暗号化する
Encryption API(Java)を使用して、PDFドキュメントを証明書で暗号化します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-encryption-client.jarなどのクライアントJARファイルを含めます。
暗号化クライアントAPIオブジェクトを作成します。
ServiceClientFactory
オブジェクトを作成します。EncryptionServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。暗号化するPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。証明書を参照します。
java.util.List
オブジェクトを作成します。java.util.List
オブジェクトのadd
メソッドを呼び出し、保護されたPDFドキュメントを開くユーザーに許可する権限を表すCertificateEncryptionPermissions
定義済みリスト値を渡して、暗号化されたドキュメントに関連付けられた権限を指定します。 例えば、すべての権限を指定するには、CertificateEncryptionPermissions.PKI_ALL_PERM
を渡します。Recipient
オブジェクトを作成します。java.io.FileInputStream
オブジェクトを作成します。java.io.FileInputStream
オブジェクトを渡して、com.adobe.idp.Document
オブジェクトを作成します。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
オブジェクトを作成します。CertificateEncryptionOptionSpec
オブジェクトのsetOption
メソッドを呼び出し、暗号化するドキュメントリソースを指定するCertificateEncryptionOption
定義済みリスト値を渡して、暗号化するPDFドキュメントリソースを指定します。 例えば、メタデータと添付ファイルを含むPDFドキュメント全体を暗号化するには、CertificateEncryptionOption.ALL
を指定します。CertificateEncryptionOptionSpec
オブジェクトのsetCompat
メソッドを呼び出し、Acrobatの互換性レベルを指定するCertificateEncryptionCompatibility
定義済みリスト値を渡して、Acrobatの互換性オプションを指定します。 例えば、CertificateEncryptionCompatibility.ACRO_7
を指定できます。証明書で暗号化されたPDFドキュメントを作成します。
EncryptionServiceClient
オブジェクトのencryptPDFUsingCertificates
メソッドを呼び出し、次の値を渡して、PDFドキュメントを証明書で暗号化します。
com.adobe.idp.Document
オブジェクトです。java.util.List
オブジェクトです。CertificateEncryptionOptionSpec
オブジェクトです。encryptPDFUsingCertificates
メソッドは、証明書で暗号化されたPDFドキュメントを含むcom.adobe.idp.Document
オブジェクトを返します。
暗号化されたPDFドキュメントをPDFファイルとして保存します。
java.io.File
オブジェクトを作成し、ファイル名の拡張子が.pdfであることを確認します。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出して、com.adobe.idp.Document
オブジェクトの内容をファイルにコピーします。 com.adobe.idp.Document
メソッドから返された encryptPDFUsingCertificates
オブジェクトを必ず使用してください。関連トピック
クイック開始(SOAPモード):Java APIを使用した証明書によるPDFドキュメントの暗号化
Encryption API(Webサービス)を使用して、PDFドキュメントを証明書で暗号化します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
暗号化クライアントAPIオブジェクトを作成します。
EncryptionServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してEncryptionServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/EncryptionService?WSDL
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する場合に使用されます)。
EncryptionServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
EncryptionServiceClient.ClientCredentials.UserName.UserName
に割り当てます。EncryptionServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。暗号化するPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。BLOB
オブジェクトは、証明書で暗号化されたPDFドキュメントを保存するために使用します。System.IO.FileStream
オブジェクトを作成します。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
オブジェクトのMTOM
データメンバーに割り当てて、BLOB
オブジェクトを入力します。BLOB
オブジェクトをRecipient
オブジェクトのx509Cert
データメンバに割り当てます。CertificateEncryptionIdentity
オブジェクトを作成します。このオブジェクトは、コンストラクターを使用して作成します。Recipient
オブジェクトをCertificateEncryptionIdentity
オブジェクトの受信者データメンバに割り当てます。Object
配列を作成し、CertificateEncryptionIdentity
オブジェクトをObject
配列の最初の要素に割り当てます。 このObject
配列は、encryptPDFUsingCertificates
メソッドにパラメーターとして渡されます。暗号化の実行時オプションを設定します。
CertificateEncryptionOptionSpec
オブジェクトを作成します。CertificateEncryptionOption
定義済みリスト値をCertificateEncryptionOptionSpec
オブジェクトのoption
データメンバに割り当てます。 PDFドキュメント全体(メタデータと添付ファイルを含む)を暗号化するには、CertificateEncryptionOption.ALL
をこのデータメンバーに割り当てます。CertificateEncryptionCompatibility
定義済みリスト値をCertificateEncryptionOptionSpec
オブジェクトのcompat
データメンバに割り当てて、Acrobat互換性オプションを指定します。 例えば、CertificateEncryptionCompatibility.ACRO_7
をこのデータメンバーに割り当てます。証明書で暗号化されたPDFドキュメントを作成します。
EncryptionServiceService
オブジェクトのencryptPDFUsingCertificates
メソッドを呼び出し、次の値を渡して、PDFドキュメントを証明書で暗号化します。
BLOB
オブジェクトです。Object
配列。CertificateEncryptionOptionSpec
オブジェクトです。encryptPDFUsingCertificates
メソッドは、証明書で暗号化されたPDFドキュメントを含むBLOB
オブジェクトを返します。
暗号化されたPDFドキュメントをPDFファイルとして保存します。
System.IO.FileStream
オブジェクトを作成します。encryptPDFUsingCertificates
メソッドから返されたBLOB
オブジェクトのデータ内容を格納するバイト配列を作成します。 BLOB
オブジェクトのbinaryData
データメンバの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPDFファイルに書き込みます。関連トピック
証明書ベースの暗号化をPDFドキュメントから削除して、Adobe ReaderまたはAcrobatでPDFドキュメントを開くことができるようにすることができます。 証明書で暗号化されたPDFドキュメントから暗号化を削除するには、公開鍵を参照する必要があります。 暗号化がPDFドキュメントから削除されると、その暗号化は保護されなくなります。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
PDFドキュメントから証明書ベースの暗号化を削除するには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めてください。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
Encryptionサービスクライアントの作成
プログラムによってEncryptionサービスの操作を実行するには、Encryptionサービスクライアントを作成する必要があります。 Java Encryption Service APIを使用している場合は、EncrytionServiceClient
オブジェクトを作成します。 WebサービスのEncryption Service APIを使用している場合は、EncryptionServiceService
オブジェクトを作成します。
暗号化されたPDFドキュメントの取得
証明書ベースの暗号化を削除するには、暗号化されたPDFドキュメントを取得する必要があります。 暗号化されていないPDFドキュメントから暗号化を削除しようとすると、例外が発生します。 同様に、パスワードで暗号化されたドキュメントから証明書ベースの暗号化を削除しようとすると、例外が発生します。
暗号化の削除
暗号化されたPDFドキュメントから証明書ベースの暗号化を削除するには、暗号化されたPDFドキュメントと、PDFドキュメントの暗号化に使用されたキーに対応する秘密鍵の両方が必要です。 秘密鍵のエイリアス値は、暗号化されたPDFドキュメントから証明書ベースの暗号化を削除するときに指定します。 公開鍵について詳しくは、証明書でのPDFドキュメントの暗号化を参照してください。
秘密鍵はAEM FormsTrust Storeに保存されます。 証明書がそこに配置されると、エイリアス値が指定されます。
PDFドキュメントの保存
暗号化されたPDFドキュメントから証明書ベースの暗号化を削除した後、PDFドキュメントをPDFファイルとして保存できます。 PDFドキュメントは、Adobe ReaderまたはAcrobatで開くことができます。
関連トピック
Encryption API(Java)を使用して、PDFドキュメントから証明書ベースの暗号化を削除します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-encryption-client.jarなどのクライアントJARファイルを含めます。
Encryptionサービスクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。EncryptionServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。暗号化されたPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。暗号化を削除します。
EncryptionServiceClient
オブジェクトのremovePDFCertificateSecurity
メソッドを呼び出し、次の値を渡すことで、証明書ベースの暗号化をPDFドキュメントから削除します。
com.adobe.idp.Document
オブジェクトです。removePDFCertificateSecurity
メソッドは、保護されていないPDFドキュメントを含むcom.adobe.idp.Document
オブジェクトを返します。
PDFドキュメントを保存します。
java.io.File
オブジェクトを作成し、ファイル拡張子が .pdf であることを確認します。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出して、Document
オブジェクトの内容をファイルにコピーします。 com.adobe.idp.Document
メソッドから返された removePDFCredentialSecurity
オブジェクトを必ず使用してください。関連トピック
クイック開始(SOAPモード):Java APIを使用した証明書ベースの暗号化の削除
Encryption API(Webサービス)を使用して、証明書ベースの暗号化を削除します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
Encryptionサービスクライアントを作成します。
EncryptionServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してEncryptionServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/EncryptionService?WSDL
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する場合に使用されます)。
EncryptionServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
EncryptionServiceClient.ClientCredentials.UserName.UserName
に割り当てます。EncryptionServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。暗号化されたPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。BLOB
オブジェクトは、暗号化されたPDFドキュメントの保存に使用されます。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトのMTOM
データメンバーに割り当てて、BLOB
オブジェクトを入力します。暗号化を削除します。
EncryptionServiceClient
オブジェクトのremovePDFCertificateSecurity
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトです。removePDFCredentialSecurity
メソッドは、保護されていないPDFドキュメントを含むBLOB
オブジェクトを返します。
PDFドキュメントを保存します。
System.IO.FileStream
オブジェクトを作成します。removePDFPasswordSecurity
メソッドから返されたBLOB
オブジェクトの内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
データメンバの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPDFファイルに書き込みます。関連トピック
パスワードベースの暗号化をPDFドキュメントから削除して、パスワードを指定しなくても、Adobe ReaderまたはAcrobatでPDFドキュメントを開くことができるようにすることができます。 パスワードベースの暗号化をPDFドキュメントから削除すると、ドキュメントのセキュリティは保護されなくなります。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
PDFドキュメントからパスワードベースの暗号化を削除するには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めます。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
Encryptionサービスクライアントの作成
プログラムによってEncryptionサービスの操作を実行するには、Encryptionサービスクライアントを作成する必要があります。 Java Encryption Service APIを使用している場合は、EncrytionServiceClient
オブジェクトを作成します。 WebサービスのEncryption Service APIを使用している場合は、EncryptionServiceService
オブジェクトを作成します。
暗号化されたPDFドキュメントの取得
パスワードベースの暗号化を削除するには、暗号化されたPDFドキュメントを取得する必要があります。 暗号化されていないPDFドキュメントから暗号化を削除しようとすると、例外が発生します。
パスワードの削除
暗号化されたPDFドキュメントからパスワードベースの暗号化を削除するには、暗号化されたPDFドキュメントと、PDFドキュメントから暗号化を削除するために使用するマスターパスワードの両方を指定する必要があります。 パスワードで暗号化されたPDFドキュメントを開く際に使用するパスワードは、暗号化の削除には使用できません。 マスターパスワードは、PDFドキュメントがパスワードを使用して暗号化される場合に指定します。 (「パスワードによるPDFドキュメントの暗号化」を参照)。
PDFドキュメントの保存
EncryptionサービスでPDFドキュメントからパスワードベースの暗号化を削除した後、PDFドキュメントをPDFファイルとして保存できます。 ユーザーは、パスワードを指定せずに、Adobe ReaderまたはAcrobatでPDFドキュメントを開くことができます。
関連トピック
Encryption API(Java)を使用して、PDFドキュメントからパスワードベースの暗号化を削除します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-encryption-client.jarなどのクライアントJARファイルを含めます。
Encryptionサービスクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。EncryptionServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。暗号化されたPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。パスワードを削除します。
EncryptionServiceClient
オブジェクトのremovePDFPasswordSecurity
メソッドを呼び出し、次の値を渡すことで、PDFドキュメントからパスワードベースの暗号化を削除します。
com.adobe.idp.Document
オブジェクトです。removePDFPasswordSecurity
メソッドは、保護されていないPDFドキュメントを含むcom.adobe.idp.Document
オブジェクトを返します。
PDFドキュメントを保存します。
java.io.File
オブジェクトを作成し、ファイル名の拡張子が.pdfであることを確認します。com.adobe.idp.Document
オブジェクトのcopyToFile
メソッドを呼び出して、Document
オブジェクトの内容をファイルにコピーします。 Document
メソッドから返された removePDFPasswordSecurity
オブジェクトを必ず使用してください。関連トピック
クイック開始(SOAPモード):Java APIを使用したパスワードベースの暗号化の削除
Encryption API(Webサービス)を使用して、パスワードベースの暗号化を削除します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
Encryptionサービスクライアントを作成します。
EncryptionServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してEncryptionServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/EncryptionService?WSDL
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する場合に使用されます)。
EncryptionServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
EncryptionServiceClient.ClientCredentials.UserName.UserName
に割り当てます。EncryptionServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。暗号化されたPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。BLOB
オブジェクトは、パスワードで暗号化されたPDFドキュメントを保存するために使用します。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトのMTOM
データメンバーに割り当てて、BLOB
オブジェクトを入力します。パスワードを削除します。
EncryptionServiceService
オブジェクトのremovePDFPasswordSecurity
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトです。removePDFPasswordSecurity
メソッドは、保護されていないPDFドキュメントを含むBLOB
オブジェクトを返します。
PDFドキュメントを保存します。
System.IO.FileStream
オブジェクトを作成します。removePDFPasswordSecurity
メソッドから返されたBLOB
オブジェクトの内容を格納するバイト配列を作成します。 BLOB
オブジェクトのMTOM
データメンバの値を取得して、バイト配列を入力します。System.IO.FileStream
オブジェクトを渡し、System.IO.BinaryWriter
オブジェクトを作成します。System.IO.BinaryWriter
オブジェクトのWrite
メソッドを呼び出し、バイト配列を渡すことで、バイト配列の内容をPDFファイルに書き込みます。関連トピック
パスワードで暗号化または証明書で暗号化されたPDFドキュメントは、ロックを解除しないと、別のAEM Forms操作を実行できません。 暗号化されたPDFドキュメントに対して操作を実行しようとすると、例外が生成されます。 暗号化されたPDFドキュメントのロックを解除した後、暗号化されたPDF画像に対して1つ以上の操作を実行できます。 これらの操作は、Acrobat Reader DC拡張サービスなど、他のサービスに属することができます。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
暗号化されたPDFドキュメントのロックを解除するには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めます。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
Encryptionサービスクライアントの作成
プログラムによってEncryptionサービスの操作を実行するには、Encryptionサービスクライアントを作成する必要があります。 Java Encryption Service APIを使用している場合は、EncrytionServiceClient
オブジェクトを作成します。 WebサービスのEncryption Service APIを使用している場合は、EncryptionServiceService
オブジェクトを作成します。
暗号化されたPDFドキュメントの取得
ロックを解除するには、暗号化されたPDFドキュメントを取得する必要があります。 暗号化されていないPDFドキュメントのロックを解除しようとすると、例外が発生します。
ドキュメントのロック解除
パスワードで暗号化されたPDFドキュメントのロックを解除するには、暗号化されたPDFドキュメントと、パスワードで暗号化されたPDFドキュメントを開くために使用するパスワード値の両方が必要です。 この値は、PDFドキュメントをパスワードで暗号化する場合に指定します。 (「パスワードによるPDFドキュメントの暗号化」を参照)。
証明書で暗号化されたPDFドキュメントのロックを解除するには、暗号化されたPDFドキュメントと、PDFドキュメントの暗号化に使用された秘密鍵に対応する公開鍵のエイリアス値の両方が必要です。
AEM Forms操作の実行
暗号化されたPDFドキュメントのロックが解除された後、その画像に対して別のサービス操作(使用権限の適用など)を実行できます。 この操作は、Acrobat Reader DC拡張サービスに属します。
関連トピック
Java APIを使用した暗号化されたPDFドキュメントのロック解除
WebサービスAPIを使用した暗号化されたPDFドキュメントのロック解除
暗号化API(Java)を使用して暗号化されたPDFドキュメントのロックを解除します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-encryption-client.jarなどのクライアントJARファイルを含めます。
Encryptionサービスクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。EncryptionServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。暗号化されたPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。ドキュメントのロックを解除します。
EncryptionServiceClient
オブジェクトのunlockPDFUsingPassword
メソッドまたはunlockPDFUsingCredential
メソッドを呼び出して、暗号化されたPDFドキュメントのロックを解除します。
パスワードを使用して暗号化されたPDFドキュメントのロックを解除するには、unlockPDFUsingPassword
メソッドを呼び出し、次の値を渡します。
com.adobe.idp.Document
オブジェクトです。証明書で暗号化されたPDFドキュメントのロックを解除するには、unlockPDFUsingCredential
メソッドを呼び出し、次の値を渡します。
com.adobe.idp.Document
オブジェクトです。unlockPDFUsingPassword
メソッドとunlockPDFUsingCredential
メソッドは共にcom.adobe.idp.Document
オブジェクトを返します。このオブジェクトは、別のAEM FormsJavaメソッドに渡して操作を実行します。
AEM Forms操作を実行します。
ロック解除されたPDFドキュメントに対して、ビジネス要件に合わせてAEM Forms操作を実行します。 例えば、ロック解除されたPDFドキュメントに使用権限を適用する場合、unlockPDFUsingPassword
メソッドまたはunlockPDFUsingCredential
メソッドから返されたcom.adobe.idp.Document
オブジェクトをReaderExtensionsServiceClient
オブジェクトのapplyUsageRights
メソッドに渡します。
関連トピック
クイック開始(SOAPモード):Java API (SOAPモード)を使用した暗号化されたPDFドキュメントのロック解除
Encryption API(Webサービス)を使用して暗号化されたPDFドキュメントのロックを解除します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
Encryptionサービスクライアントを作成します。
EncryptionServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してEncryptionServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/EncryptionService?WSDL
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する場合に使用されます)。
EncryptionServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
EncryptionServiceClient.ClientCredentials.UserName.UserName
に割り当てます。EncryptionServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。暗号化されたPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトのMTOM
データメンバーに割り当てて、BLOB
オブジェクトを入力します。ドキュメントのロックを解除します。
EncryptionServiceClient
オブジェクトのunlockPDFUsingPassword
メソッドまたはunlockPDFUsingCredential
メソッドを呼び出して、暗号化されたPDFドキュメントのロックを解除します。
パスワードを使用して暗号化されたPDFドキュメントのロックを解除するには、unlockPDFUsingPassword
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトです。証明書で暗号化されたPDFドキュメントのロックを解除するには、unlockPDFUsingCredential
メソッドを呼び出し、次の値を渡します。
BLOB
オブジェクトです。unlockPDFUsingPassword
メソッドとunlockPDFUsingCredential
メソッドは共に、別のAEM Formsメソッドに渡すcom.adobe.idp.Document
オブジェクトを返します。
AEM Forms操作を実行します。
ロック解除されたPDFドキュメントに対して、ビジネス要件に合わせてAEM Forms操作を実行します。 例えば、ロック解除されたPDFドキュメントに使用権限を適用する場合、unlockPDFUsingPassword
メソッドまたはunlockPDFUsingCredential
メソッドから返されたBLOB
オブジェクトをReaderExtensionsServiceClient
オブジェクトのapplyUsageRights
メソッドに渡します。
関連トピック
Java Encryption Service APIまたはWebサービスのEncryption Service APIを使用して、PDFドキュメントを保護する暗号化の種類をプログラムで判断できます。 PDFドキュメントが暗号化されているかどうか、および暗号化されている場合は暗号化の種類を動的に判断する必要がある場合があります。 例えば、PDFドキュメントをパスワードベースの暗号化またはRights Managementポリシーで保護するかどうかを指定できます。
PDFドキュメントは、次の暗号化タイプで保護できます。
Encryptionサービスの詳細については、『AEM Formsのサービスリファレンス』を参照してください。
PDFドキュメントを保護する暗号化の種類を決定するには、次の手順を実行します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。 Javaを使用してクライアントアプリケーションを作成する場合は、必要なJARファイルを含めます。 Webサービスを使用している場合は、プロキシファイルを必ず含めてください。
次のJARファイルをプロジェクトのクラスパスに追加する必要があります。
サービスクライアントの作成
プログラムによってEncryptionサービスの操作を実行するには、Encryptionサービスクライアントを作成する必要があります。 Java Encryption Service APIを使用している場合は、EncrytionServiceClient
オブジェクトを作成します。 WebサービスのEncryption Service APIを使用している場合は、EncryptionServiceService
オブジェクトを作成します。
暗号化されたPDFドキュメントの取得
PDFドキュメントを取得して、保護する暗号化の種類を判断する必要があります。
暗号化タイプの決定
PDFドキュメントを保護する暗号化の種類を指定できます。 PDFドキュメントが保護されていない場合は、PDFドキュメントが保護されていないことを通知するEncryptionサービスが提供されます。
関連トピック
Encryption API(Java)を使用して、PDFドキュメントを保護する暗号化の種類を決定します。
プロジェクトファイルを含めます。
Javaプロジェクトのクラスパスに、adobe-encryption-client.jarなどのクライアントJARファイルを含めます。
サービスクライアントを作成します。
ServiceClientFactory
オブジェクトを作成します。EncryptionServiceClient
オブジェクトを渡して、ServiceClientFactory
オブジェクトを作成します。暗号化されたPDFドキュメントを取得します。
java.io.FileInputStream
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトを渡すことによって、java.io.FileInputStream
オブジェクトを作成します。暗号化タイプを決定します。
EncryptionServiceClient
オブジェクトのgetPDFEncryption
メソッドを呼び出し、PDFドキュメントを含むcom.adobe.idp.Document
オブジェクトを渡して、暗号化の種類を決定します。 このメソッドは、EncryptionTypeResult
オブジェクトを返します。EncryptionTypeResult
オブジェクトのgetEncryptionType
メソッドを呼び出します。 このメソッドは、暗号化の種類を指定するEncryptionType
列挙値を返します。 例えば、PDFドキュメントがパスワードベースの暗号化で保護されている場合、EncryptionType.PASSWORD
を返します。関連トピック
クイック開始(SOAPモード):Java APIを使用した暗号化タイプの決定
Encryption API(Webサービス)を使用して、PDFドキュメントを保護する暗号化の種類を決定します。
プロジェクトファイルを含めます。
MTOMを使用するMicrosoft .NETプロジェクトを作成します。 次のWSDL定義を使用していることを確認します。http://localhost:8080/soap/services/EncryptionService?WSDL&lc_version=9.0.1
.
localhost
を、AEM FormsをホストするサーバーのIPアドレスに置き換えます。
サービスクライアントを作成します。
EncryptionServiceClient
オブジェクトを作成するには、そのデフォルトのコンストラクタを使用します。
System.ServiceModel.EndpointAddress
コンストラクターを使用してEncryptionServiceClient.Endpoint.Address
オブジェクトを作成します。 WSDLをAEM Formsサービスに指定するstring値を渡します(例:http://localhost:8080/soap/services/EncryptionService?WSDL
)。 lc_version
属性を使用する必要はありません。 この属性は、サービス参照を作成する場合に使用されます)。
EncryptionServiceClient.Endpoint.Binding
フィールドの値を取得してSystem.ServiceModel.BasicHttpBinding
オブジェクトを作成します。 戻り値を BasicHttpBinding
にキャストします。
System.ServiceModel.BasicHttpBinding
オブジェクトのMessageEncoding
フィールドをWSMessageEncoding.Mtom
に設定します。 この値により、MTOMが使用されます。
次のタスクを実行して、基本的なHTTP認証を有効にします。
EncryptionServiceClient.ClientCredentials.UserName.UserName
に割り当てます。EncryptionServiceClient.ClientCredentials.UserName.Password
に割り当てます。HttpClientCredentialType.Basic
をフィールドBasicHttpBindingSecurity.Transport.ClientCredentialType
に割り当てます。BasicHttpSecurityMode.TransportCredentialOnly
をフィールドBasicHttpBindingSecurity.Security.Mode
に割り当てます。暗号化されたPDFドキュメントを取得します。
BLOB
オブジェクトを作成します。System.IO.FileStream
オブジェクトを作成します。System.IO.FileStream
オブジェクトの内容を格納するバイト配列を作成します。 System.IO.FileStream
オブジェクトのLength
プロパティを取得して、バイト配列のサイズを決定できます。System.IO.FileStream
オブジェクトのRead
メソッドを呼び出し、読み取るバイト配列、開始位置、ストリーム長を渡すことで、バイト配列にストリームデータを入力します。BLOB
オブジェクトのMTOM
データメンバーに割り当てて、BLOB
オブジェクトを入力します。暗号化タイプを決定します。
EncryptionServiceClient
オブジェクトのgetPDFEncryption
メソッドを呼び出し、PDFドキュメントを含むBLOB
オブジェクトを渡します。 このメソッドは、EncryptionTypeResult
オブジェクトを返します。EncryptionTypeResult
オブジェクトのencryptionType
データメソッドの値を取得します。 例えば、PDFドキュメントがパスワードベースの暗号化で保護されている場合、このデータメンバーの値はEncryptionType.PASSWORD
です。関連トピック