ホームページ > バックエンド開発 > Golang > Go で RSA キー ペアを生成し、別のファイルに書き込む方法は?

Go で RSA キー ペアを生成し、別のファイルに書き込む方法は?

Barbara Streisand
リリース: 2024-12-16 13:35:10
オリジナル
415 人が閲覧しました

How to Generate RSA Key Pairs in Go and Write Them to Separate Files?

openssl genrsa と同様に Go で RSA キーを生成

概要

openssl コマンド genrsa は RSA キーを生成します。 Go では crypto/rsa パッケージを使用して同じ機能を実現できます。この記事では、RSA キー ペアを生成し、Go で個別のファイルに書き込む方法について詳しく説明します。

ステップバイステップ ガイド

1.必要なライブラリをインポートします

import (
    "crypto/rand"
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
    "io/ioutil"
)
ログイン後にコピー

2.キーペアの生成

filename := "key"
bitSize := 4096

// Generate RSA keypair
key, err := rsa.GenerateKey(rand.Reader, bitSize)
ログイン後にコピー

3.パブリックコンポーネントの抽出

pub := key.Public()
ログイン後にコピー

4. PEM

// Encode private key to PKCS#1 ASN.1 PEM
keyPEM := pem.EncodeToMemory(
    &pem.Block{
        Type:  "RSA PRIVATE KEY",
        Bytes: x509.MarshalPKCS1PrivateKey(key),
    },
)

// Encode public key to PKCS#1 ASN.1 PEM
pubPEM := pem.EncodeToMemory(
    &pem.Block{
        Type:  "RSA PUBLIC KEY",
        Bytes: x509.MarshalPKCS1PublicKey(pub.(*rsa.PublicKey)),
    },
)
ログイン後にコピー

5 にエンコードします。ファイルへの書き込み

// Write private key to file
if err := ioutil.WriteFile(filename+".rsa", keyPEM, 0700); err != nil {
    panic(err)
}

// Write public key to file
if err := ioutil.WriteFile(filename+".rsa.pub", pubPEM, 0755); err != nil {
    panic(err)
}
ログイン後にコピー

結論

上記の手順に従うことで、openssl genrsa コマンドと同様に、Go で RSA キー ペアを簡単に生成し、別のファイルに書き込むことができます。この包括的なガイドは、Go アプリケーションで RSA キーを操作するための強固な基盤を提供します。

以上がGo で RSA キー ペアを生成し、別のファイルに書き込む方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート