Windows CertSrv Web登録クライアント内の追加の属性フィールドを使用して新しい証明書を発行しようとしています。
CSRを追加し、テンプレートを選択して、これを属性フィールドに入力しました。
SAN:dns=HOSTNAME&dns=HOSTNAME.DOMAIN.COM&ipaddress=IPADRESS
要求は成功しましたが、署名された証明書を確認すると、「代替名」属性が追加されていません。何か不足していますか?テンプレートに問題があるのでしょうか? (いくつかのカスタム設定でデフォルトのWin 2003レベルのWebサーバーテンプレートコピーを使用)。
/ editまた使ってみました
certreq -submit -attrib "CertificateTemplate:MYTEMPLATE" <Cert Request.req> -attrib "SAN:dns=HOSTNAME&dns=HOSTNAME2&ipaddress=IPADDRESS"
同じ問題が発生します。証明書は生成されますが、SAN属性はありません。
/ edit2また、SANを使用して証明書を発行するようにCAを設定しました
certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
cAサービスを再起動します。それでも:SANはありません。
注意:reqを使用します。 CSRを生成するためのファイルとOpenSSLいくつかのSANが含まれているCAを使用して証明書を生成できます。ただし、アプリケーションからCSRを取得していて、アプリケーションのCSRを手動で生成できないため、このオプションは現在の状況では無効です。
/ edit3 デフォルトのウェブサーバー証明書を変更せずに使用しようとしましたが、突然機能しました。問題は、SANを有効にするためのテンプレート要件は何ですか?
私はこれが古いことを知っています、しかし私はそれを自分で理解し、それが他の誰かを助けるかもしれないと思いました。私もCAにWebページまたはcertreq ... -attrib "SAN:DNS=<FQDN>[&DNS=<FQND2>...]..."
形式のいずれかを介してSANを追加させることができませんでした。SAN属性は無視されました、証明書が発行されたとしても。
ただし、次の形式で動作することがわかりました:certreq -attrib "CertificateTemplate:WebServer\nSAN:DNS=<Name1>[&DNS=<name2>...][&IPAddress=<IP1>...]" <csr filename> <cer filename>
たとえば、HP_VC.csrという名前の証明書要求ファイルがあり、サブジェクトの別名をvc1、vc2、vc1.domain.com、vc2.domain.com、192.168.1.1、および192.168.1.2にしたい場合、コマンドは次のようになります。になる:
certreq -attrib "CertificateTemplate:WebServer\nSAN:DNS=vc1&DNS=vc2&DNS=vc1.domain.com&DNS=vc2.domain.com&IPAddress=192.168.1.1&IPAddress=192.168.1.2" HP_VC.csr HP_VC.cer
HP_VC.cerの証明書には、SAN属性が含まれます。
HP Virtual Connect(VC)モジュール、Onboard Administrator(OA)、およびiLOにこれを使用しています。これは、SANの証明書を必要とする一般的な状況で機能するはずです。