x509.MarshalPKIXPublicKey と x509.MarshalPKCS1PublicKey
Go 標準ライブラリには、公開キーを DER エンコード形式 x509 にシリアル化するための 2 つの関数が用意されています。 MarshalPKIXPublicKey および x509.MarshalPKCS1PublicKey.
DER でエンコードされた PKIX 形式
DER (Distinguished Encoding Rules) は、ASN.1 (抽象構文表記法 1) の特定のエンコード スキームです。データ。 ASN.1 は暗号化で使用されるデータ構造を定義するための言語であり、DER はそれらの構造をバイトで表現するためのメカニズムです。
PKIX (Public Key Infrastructure X.509) は X.509 標準の拡張です。これには、複数の公開鍵アルゴリズムのサポートが含まれます。 PKIX 公開キー証明書には、公開キーと、発行者名やサブジェクト名などのその他の情報が、DER でエンコードされた ASN.1 形式で含まれています。
MarshalPKIXPublicKey
x509 .MarshalPKIXPublicKey は、公開キーを DER でエンコードされた PKIX 形式にシリアル化します。この形式は、X.509 公開キー証明書および PKIX をサポートするその他のアプリケーションで使用されます。
MarshalPKCS1PublicKey
x509.MarshalPKCS1PublicKey は RSA 公開キーを PKCS#1 に変換します。 ASN.1 DER フォーム。 PKCS#1 は、さまざまな暗号化アプリケーションで RSA 公開キーを使用するための標準です。 MarshalPKCS1PublicKey 関数は、結果の DER エンコードされたデータが PKCS#1 標準に準拠していることを確認します。
概要
x509.MarshalPKIXPublicKey は、公開キーを DER エンコードされた PKIX にシリアル化します。この形式は、X.509 証明書および PKIX をサポートするその他のアプリケーションで使用されます。 x509.MarshalPKCS1PublicKey は、RSA 公開キーを PKCS#1、ASN.1 DER 形式に変換します。これは、この特定の形式の RSA 公開キーを必要とするアプリケーションで使用されます。
以上がx509.MarshalPKIXPublicKey と x509.MarshalPKCS1PublicKey をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。