RSA 暗号化の秘密キーと公開キーの保存とロード
Go で crypto/rsa パッケージを操作する場合、秘密鍵と公開鍵を安全に取得します。この記事では、これらのキーをディスクに保存し、必要に応じて復元するタスクを適切に処理するための包括的なガイダンスを提供します。
RSA 秘密キーの保存
バイト スライスを作成するにはrsa.PrivateKey を表す場合は、次の関数を使用します。
func x509.MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte
この関数は、
RSA 公開鍵の保存
rsa.PublicKey の場合、Go には組み込み関数がありません。キーをバイトスライスにマーシャリングする標準ライブラリ。ただし、次のコードを使用して、マーシャリングされた秘密キーを PEM ファイルにエンコードするのが一般的です。
pemdata := pem.EncodeToMemory( &pem.Block{ Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(key), }, )
このコード スニペットは、マーシャリングされた秘密キーを PEM ブロックでラップし、PEM 形式のファイルにエンコードします。バイトスライス。
RSA プライベートおよびパブリックのロード中キー
ディスクまたはメモリから RSA 秘密鍵をロードするには、次の関数を使用します。
func x509.ParsePKCS1PrivateKey(der []byte) (key *rsa.PrivateKey, err error)
この関数は、DER でエンコードされた秘密鍵のバイト スライスを解析し、 rsa.PrivateKey object.
公開鍵には独自の解析機能がないため、公開鍵を次から抽出する必要があります。両方をロードしている場合は秘密キー。秘密鍵から公開鍵を抽出するには、次のコードを使用します。
pub := &key.PublicKey
結論
この包括的なガイドでは、安全に保存し、保存するために必要な情報と機能を提供します。 Go に RSA 秘密鍵と公開鍵をロードし、暗号化操作のためのこれらの鍵の適切な管理とアクセスを確保します。
以上がGo で RSA 秘密キーと公開キーを安全に保存およびロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。