Go로 RSA 키 생성: Openssl genrsa 복제
OpenSSL 명령 openssl genrsa -out $1.rsa $2는 RSA 키 쌍을 생성하고 개인 키용으로 $1.rsa라는 두 개의 개별 파일로 내보냅니다. 공개 키의 경우 $1.rsa.pub입니다. Go에서 이 프로세스에는 다음이 포함됩니다.
다음 코드는 이 프로세스를 보여줍니다.
package main import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "io/ioutil" ) func main() { filename := "key" bitSize := 4096 key, err := rsa.GenerateKey(rand.Reader, bitSize) if err != nil { panic(err) } pub := key.Public() keyPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(key), }, ) pubPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PUBLIC KEY", Bytes: x509.MarshalPKCS1PublicKey(pub.(*rsa.PublicKey)), }, ) if err := ioutil.WriteFile(filename+".rsa", keyPEM, 0700); err != nil { panic(err) } if err := ioutil.WriteFile(filename+".rsa.pub", pubPEM, 0755); err != nil { panic(err) } }
이 코드는 개인 키 파일 key.rsa와 공개 키 파일 key.rsa.pub를 생성합니다. 이러한 파일의 내용은 OpenSSL 명령의 출력과 유사합니다.
위 내용은 OpenSSL의 `genrsa` 명령을 모방하여 Go에서 어떻게 RSA 키 쌍을 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!