keySage、regestrationIDなどのように、CSRに余分なフィールドを追加する必要があります。私はjava IBM-sdk60を使用しています。私はx500名のAPIを使いましたが、解決策は見つかりませんでした。 APIのヘルプは高く評価されます。 事前に感謝しますPKCS10証明書リクエストをJavaで余分なフィールドで生成する
2
A
答えて
3
CSR(PKCS#10)要求に追加情報を含めるための標準的な方法は、Attributes
を追加することです。 PKCSによると#10標準:
属性のセットを含むの意図は二つです:どのエンティティ月以降の要求証明書 で 他の特定のエンティティに関する情報、または「チャレンジパスワード」を提供します取り消し; には、X.509証明書に含める属性を指定します。
:属性の 非網羅的なリストは、属性が OIDあり、その意味はOID
に依存した値が実際にPKCS#9は、3つの属性を定義するPKCS#9
に与えられています
あなたが探している1が拡張要求です:extensionRequest属性タイプは、要求者が含まれることを希望する証明書の拡張についての情報 を運ぶために使用することができる
証明書に記載されています。
このコードテンプレート(テストしていませんが)あなたに
CertificateExtensions exts = /* build the extensions set you want to include */
/* Wrap the extensions set into a SET OF */
OutputStream out = new ByteArrayOutputStream();
exts.encode(out);
DerValue val = new DerValue(DerValue.tag_SetOf, out.toByteArray());
PKCSAttribute extReq = new PKCSAttribute(new ObjectIdentifier("1.2.840.113549.1.9.14"), val.toByteArray());
PKCSAttributes attrs = new PKCSAttributes(new PKCSAttribute[] { extReq });
CertificationRequestInfo cri = new CertificationRequestInfo(subject, key, attrs);
CertificationRequest csr = new CertificationRequest(cri);
この属性を含める方法についていくつかのヒントを与えることがCAを明示的にこれは#10の属性は、それが中に無視されますサポートされているPKCS発表していない限りますのでご注意ください証明書の生成
+0
ありがとうJCS ... これは私が探しているワットです。 そして、ええ、CAはPKCS#10属性をサポートしていますので、私が提供するソリューションの問題は見つけられません... –
関連する問題
- 1. iOSデバイスで秘密鍵と証明書リクエストを生成する
- 2. Javaでbouncycastleでp7b証明書チェーンを生成する
- 3. Java keytoolコマンドラインインターフェイスでx.509証明書を生成する方法
- 4. 証明書チェーンをJavaで生成する
- 5. bouncy castle openssl pkcs10証明書署名コマンドに相当します。
- 6. ランダム証明書を生成
- 7. Codename OneでiOS証明書を生成
- 8. Javaカードで公開鍵を使用してAndroidアプリで証明書署名リクエストを生成する方法
- 9. JavaでX509証明書フィールドを抽出する方法
- 10. OpenSSL証明書チェーンを生成する
- 11. Androidアプリ内で証明書署名リクエストを作成する
- 12. iOSプロビジョニングポータルで証明書を生成できない
- 13. 無効なCSR、Apple配布証明書生成の無効な証明書エラー
- 14. Traefikで暗号化する方法ドメインオーナーへのリクエストなしで証明書を生成する電子メール
- 15. Java証明書とSSL証明書
- 16. 証明書を貼り付けたJavaを生成
- 17. Hyperledgerファブリックで属性を持つ証明書を生成する
- 18. Bouncy Castle Javaを使用したX509証明書の生成
- 19. 検証し、JavaでXMLで余分な終了タグを削除
- 20. カスタムエンコーディングで証明書を生成するalgorythm
- 21. X.509証明書でcsrファイルを生成する方法
- 22. クライアント証明書をリクエストする
- 23. 身分証明書
- 24. Javaでのクライアント証明書認証
- 25. 余分なフィールドを使ってsymfony2フォームを検証する
- 26. リクエストの拒否証明書
- 27. 有効な証明書を生成するopenssl
- 28. 余分なフィールドでの春のフォーム検証
- 29. HTTPSリクエストがiOS Safariで証明書を確認できない
- 30. java httpクライアントでSSL証明書を使用してサーバーにリクエストする方法
どのAPIを使用してCSRを生成していますか? – Jcs
こんにちはJCS ... com.ibm.security.pkcs10。*;を使用しています。 com.ibm.security.pkcsutil。*; com.ibm.security.x509.X500Name;標準のCSR要求はCN、OU、O&Cフィールドで構成されています。 また、EKU(拡張キー使用)とregestrationIDのような新しいフィールドをマッピングする必要があります。それらのファイルをマップする方法を見つけることができません。 –
文字列keyUsg = KeyUsageExtension.KEY_ENCIPHERMENT; バイト[] der =新しいDerValue(keyUsg).getOctetString(); KeyUsageExtension keyUsage =新しいKeyUsageExtension(true、der); DerInputStream in =新しいDerInputStream(keyUsage.toString()。getBytes()); PKCSAttributes attr =新しいPKCSAttributes(in、 "IBMJCEFIPS"); 上記のコードスニペットを使用してKeyUsage拡張を証明書署名リクエストに追加しようとしましたが、次の例外が発生します。 スレッド "main"の例外java.io.IOException:DerValue.getOctetString、オクテット文字列ではありません:12 @Jcsは私が手伝ってくれます。 –