如何从文件中读取 RSA 密钥
要使用 RSA 私钥来签名 JWT,您需要从文件中提取它。本文将指导您完成从文件中预先生成的密钥构建密钥结构的过程。
生成 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 或执行其他加密操作。
以上是如何从文件中读取 RSA 密钥以进行 JWT 签名?的详细内容。更多信息请关注PHP中文网其他相关文章!