>백엔드 개발 >Golang >JWT 서명을 위해 파일에서 RSA 키를 읽는 방법은 무엇입니까?

JWT 서명을 위해 파일에서 RSA 키를 읽는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-08 06:53:02413검색

How to Read an RSA Key from a File for JWT Signing?

파일에서 RSA 키를 읽는 방법

JWT 서명에 RSA 개인 키를 활용하려면 파일에서 추출해야 합니다. . 이 문서에서는 파일의 사전 생성된 키에서 키 구조를 구성하는 과정을 안내합니다.

RSA 키 생성

제공되는 예제 키 질문은 다음 명령을 사용하여 생성됩니다.

openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt

파일에서 RSA 키 읽기

파일에서 키를 읽으려면 다음 조합을 사용할 수 있습니다. pem.Decode 및 x509.ParsePKCS1PrivateKey:

package main

import (
    "crypto/x509"
    "encoding/pem"
    "fmt"
)

func main() {
    // Replace `pemString` with the actual contents of your key file.
    pemString := `-----BEGIN RSA PRIVATE KEY-----
...`

    block, _ := pem.Decode([]byte(pemString))
    key, _ := x509.ParsePKCS1PrivateKey(block.Bytes)
    fmt.Println(key.N) // This prints the key's modulus.
}

PKCS#8 인코딩 키의 대안

PKCS#8 인코딩 키가 있는 경우 다음을 읽을 수 있습니다. x509.ParsePKCS8PrivateKey:

func main() {
    pemString := `-----BEGIN PRIVATE KEY-----
...`

    block, _ := pem.Decode([]byte(pemString))
    parseResult, _ := x509.ParsePKCS8PrivateKey(block.Bytes)
    key := parseResult.(*rsa.PrivateKey)
    fmt.Println(key.N) // This prints the key's modulus.
}

이러한 솔루션을 사용하면 파일에서 RSA 개인 키에 액세스하고 이를 사용하여 JWT에 서명하거나 기타 암호화 작업을 수행할 수 있습니다.

위 내용은 JWT 서명을 위해 파일에서 RSA 키를 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.