証明書マネージャーを使用して、秘密鍵と証明書を管理できます。 証明書マネージャを使用して署名を生成および検証することもできます。 このトピックでは、証明書の作成、証明書署名要求 (CSR) のダウンロード、証明書のインポート、証明書の使用方法について説明します。
ステップ1: 証明書を作成し、CSRをダウンロードする
ステップ2: CA発行の証明書を取得する
ステップ1でダウンロードしたCSRファイルを認証局 (CA) に送信して、検証済みの証明書と証明書チェーンを取得します。
ステップ3: 証明書のインポート
ステップ4: 証明書を使用して署名を生成する
- 方法1: CertificatePrivateKeySign 操作を呼び出して、証明書を使用して署名を生成します。
- 方法2: KMS SDKを使用して、証明書を使用して署名を生成します。 KMS SDKの詳細については、「SDK」をご参照ください。 サンプルJavaコード:
com.aliyuncs.DefaultAcsClientをインポートします。com.aliyuncs.exceptions.ClientExceptionをインポートします。com.aliyuncs.kms.mo del.v20160120.CertificatePrivateKeySignRequestをインポートします。com.aliyuncs.kms.mo del.v20160120.CertificatePrivateKeySignResponseをインポートします。impor t org.apache.com mons.codec.binary.Base64; /** * @ param client Alibaba Cloud SDKクライアント。 詳細については、Alibaba Cloud SDK For Javaのドキュメントをご参照ください。 * @ param certId使用する証明書のID。 * @ param sigAlgデジタル署名アルゴリズム。 詳細については、KMS API操作CertificatePrivateKeySignのリファレンスドキュメントを参照してください。 * @ paramメッセージ署名したいコンテンツ。 コンテンツのサイズは4 KB以下でなければなりません。 * / public byte[] doSignByCertificate(DefaultAcsClientクライアント、String certId、String sigAlg、byte[] メッセージ) throws ClientException { String msgB64 = Base64.encodeBase64String(message); // Base64にサインインするコンテンツをエンコードします。 CertificatePrivateKeySignRequest request=新しいCertificatePrivateKeySignRequest(); request.setCertificateId(certId); request.setAlgorithm(sigAlg); request.setMessage(msgB64); CertificatePrivateKeySignResponseレスポンス=client.getAcsResponse (リクエスト); 文字列sigB64 = response.getSignatureValue(); 戻り値Base64.decodeBase64(sigB64); // 返されたBase64-encodedデータをデコードして、署名の値を取得します。 }
ステップ5: 証明書を使用して署名を検証する
- 方法1: CertificatePublicKeyVerify 操作を呼び出して、証明書を使用して署名を検証します。
- 方法2: KMS SDKを使用して、証明書を使用してデジタル署名を検証します。 KMS SDKの詳細については、「SDK」をご参照ください。 サンプルJavaコード:
com.aliyuncs.DefaultAcsClientをインポートします。com.aliyuncs.exceptions.ClientExceptionをインポートします。com.aliyuncs.kms.mo del.v20160120.CertificatePublicKeyVerifyRequestをインポートします。com.aliyuncs.kms.mo del.v20160120.CertificatePublicKeyVerifyResponseをインポートします。impor t org.apache.com mons.codec.binary.Base64; /** * @ paramクライアントAlibaba Cloud SDKクライアント。 詳細については、Alibaba Cloud SDK For Javaのドキュメントをご参照ください。 * @ param certId使用する証明書のID。 * @ param sigAlgデジタル署名アルゴリズム。 詳細については、KMS API操作CertificatePrivateKeySignのリファレンスドキュメントを参照してください。 * @ paramメッセージ確認する内容です。 コンテンツのサイズは4 KB以下でなければなりません。 * @ param signature検証するコンテンツのデジタル署名。 * / パブリックブールdoVerifyByCertificate(DefaultAcsClientクライアント、String certId、String sigAlg、byte[] message、byte[] signature) がClientException { String msgB64 = Base64.encodeBase64String(message); // Base64で検証するコンテンツをエンコードします。 String sigB64 = Base64.encodeBase64String(signature); // Base64で署名値をエンコードします。 CertificatePublicKeyVerifyRequestリクエスト=新しいCertificatePublicKeyVerifyRequest(); request.setCertificateId(certId); request.setAlgorithm(sigAlg); request.setMessage(msgB64); request.setSignatureValue(sigB64); CertificatePublicKeyVerifyResponseレスポンス=client.getAcsResponse (リクエスト); return response.getSignatureValid(); }