如何从 .key 文件中提取 public 密钥和私钥?

How to extract public key and private key from .key file?

我有一个由 openssl genrsa -out server.key 2048 生成的文件 server.key,其中包含 public 和私钥。

我搜索并发现我可以通过以下方式获得 public 密钥 openssl rsa -in server.key -pubout -out key.pub

如何从 server.key 获取私钥?

据我了解,您可以使用 openssl rsa -in server.pem -pubout > server.pub

从您的私钥生成 public 密钥

.key 文件对应于私钥本身。如果你在文本编辑器中打开你的 .key 文件,你会看到它们有 -----BEGIN RSA PRIVATE KEY----- 作为前缀和 -----END RSA PRIVATE KEY----- 作为后缀。见下面的例子:

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAr/8dgslQvZLyDnPnBVJbihYjhPw6hUuCH1tKop5RitQuob4r
i4ixAhNyrjB3dmO39o8cG56/kb1MHszt256476LGW20Q3s902Nckc4yYqaA02XuE
...
...
rG8D6oIoim5XwtS68fHJpfvciuuE/TQcnS4Ek04jkReP1EXv2hp4CTAZ4l5Tm4HJ
oDmCiSOsQE/YjiyQp5eGFadqosOZZFU7k+8ipKIstr71kEQRiLE=
-----END RSA PRIVATE KEY-----

您共享的命令从现有私钥生成 public 密钥对。

openssl rsa -in server.key -pubout -out key.pub

HTH

@Sato server.key 是私钥,但如果您要查看私钥文件的内容,请使用此命令:

openssl rsa -noout -text -in server.key