私はBouncyCastleを使用して証明書を生成しています。 GeneralName.OtherNameにカスタムOid = 1.3.6.1.4.1.311.20.2.3(User Principal Name(UPN)の略)という件名の代替名の拡張子を追加しようとするまで、すべて正常に機能します。だから、結果は次のようにする必要があります: サブジェクトの別名セクション - > OtherName - >ユーザープリンシパル名=ユーザー@ドメインBouncycastleでサブジェクト代替名にカスタムOidを使用する
私はこのようにそれをやっている:
Asn1EncodableVector vector = new Asn1EncodableVector
{
new GeneralName(GeneralName.OtherName,
new KeySpecificInfo(new DerObjectIdentifier("1.3.6.1.4.1.311.20.2.3"), new DerOctetString(GetBytes("[email protected]"))))
}
DerSequence seq = new DerSequence(vector);
GeneralNames subjectAltName = GeneralNames.GetInstance(seq);
// Adding extension to X509V3CertificateGenerator
certGen.AddExtension(X509Extensions.SubjectAlternativeName, false, subjectAltName);
そして、それの後に、私は奇妙なシリアライズさを受け取ります作成された証明書のSubjectAlternativeNameセクションになります。 OtherNameセクションの追加が間違っているのは明らかですが、BouncyCastleのカスタムoidの追加に関する情報は見つかりませんでした。 アイデア
JavaまたはC#どのバージョンのライブラリを使用していますか? –
C#しかし、私もJavaを試してみました(それらの間にはいくつかの違いがあります)。 –