ホームページ >バックエンド開発 >Golang >Go 1.5 で PKCS8 秘密キーをマーシャリングするにはどうすればよいですか?

Go 1.5 で PKCS8 秘密キーをマーシャリングするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 13:00:031017ブラウズ

How can I marshal a PKCS8 private key in Go 1.5?

Go 1.5 での PKCS8 秘密鍵のマーシャリング

Go では、x509 パッケージは PKCS1 秘密鍵をマーシャリングする機能を提供しますが、PKCS8 秘密鍵をマーシャリングするための標準関数はありませんキー。 Go 1.5 で PKCS8 秘密キーをマーシャリングする方法は次のとおりです。

次のフィールドで構成される pkcs8Key 構造体を定義します:

  • バージョン: PKCS8 キーのバージョンを表す整数
  • PrivateKeyAlgorithm: 秘密鍵アルゴリズムを表す ASN.1 オブジェクト識別子のスライス
  • PrivateKey: 秘密鍵を表すバイト

RSA を変換する関数 (rsa2pkcs8) を作成する秘密鍵を PKCS8 表現に変換します:

  • pkcs8Key の Version フィールドを 0 に設定します
  • PrivateKeyAlgorithm フィールドを、目的のアルゴリズムを反映するように設定します (例: 1、2、840、113549、 RSA の場合は 1、1、1
  • x509.MarshalPKCS1PrivateKey を使用して RSA 秘密キーをマーシャリングし、それを PrivateKey フィールドに割り当てます
  • asn1.Marshal を使用して pkcs8Key 構造体をマーシャリングします

この関数を実装すると、RSA 秘密キーを PKCS8 表現に変換でき、Go アプリケーションで PKCS8 キーを操作できるようになります。

以上がGo 1.5 で PKCS8 秘密キーをマーシャリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。