phpエディタStrawberryでは、X509v3認証キー識別子にDirNameとシリアル番号を追加する方法を紹介します。ネットワーク通信において、認証キー識別子 (X509v3) は、通信相手の身元を確認するために使用されるデジタル証明書です。 DirName は証明書所有者の名前を指し、シリアル番号は証明書を一意に識別するために使用される番号です。 DirNameやシリアル番号を付加することで証明書の可読性や一意性が高まり、通信の安全性や信頼性が向上します。次に、その方法を詳しく説明します。
opensslとgoコードを使用してクライアント証明書を生成しようとしています。必要な拡張子を持つ証明書を生成する openssl スクリプトがあり、go コードを使用して同じ結果を達成したいと考えています。
openssl で使用される options.ext ファイルには、次の拡張子が含まれています:
リーリー現在私が持っている openssl スクリプトは次のとおりです:
リーリー証明書を生成した後、次のコマンドを使用して詳細を表示できます:
リーリー生成された証明書の構造は次のとおりです:
リーリー次のようになります:
リーリー私の Go コードでは、x509 パッケージを使用して証明書を生成します。ただし、x509v3 認証キー識別子拡張機能を設定する方法がわかりません。私の go コードの関連部分は次のとおりです:
リーリーx509v3 認証キー識別子にディレクトリ名とシリアル番号を追加するにはどうすればよいですか?
###関連している###basicconstraints=ca:false authoritykeyidentifier=keyid,issuer subjectkeyidentifier=hash keyusage=digitalsignature extendedkeyusage=clientauthSolutionauthoritykeyidentifiervalue
を使用して生成できます。次のデモでは、rfc 5280に従って構造体
authkeyid > を定義し、この構造体を使用して値を生成します。
リーリー
16 進エンコード値は次のとおりです:
リーリー
定义了 struct 16 進文字列は、
asn.1
などの JavaScript デコーダを使用して取得できます。
次の C# デモでも同じ結果が得られます: :これは、メール アドレス
を含む gen の更新バージョンです。 リーリー
oid は非推奨であることに注意してください (http://oid-info.com/get/1.2.840.113549.1.9.1 を参照)。 .netにも含まれていません。
以上がX509v3 認証キー識別子に DirName とシリアル番号を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。