如何检查公共 RSA 密钥文件格式正确?

信息安全 openssl RSA
2021-08-11 00:03:58

在 shell 脚本中,我想验证一个公共 RSA 文件。我想找到一种方法来检查该文件是否是真正的公钥文件,仅此而已。

有什么方法可以验证这个输入文件以检查这是一个真正的公钥文件,而不是一个常规文件?

将来我将使用此公钥文件来验证传入的加密 gzip 文件,但目前超出了范围。

我要验证输入文件以检查其真正的 RSA 公钥文件是不是普通文件。请注意,我没有任何其他文件(例如,私钥)。

例如,如果文件是‘public.pem’我只想在里面检查它是否是真正的 RSA 公钥文件,而不仅仅是带有文本的文件或文件没有损坏。我已经在检查文件不是零大小和 MD5 哈希。

我发现的其他可能的检查

检查文件是否包含文本‘BEGIN PUBLIC KEY’‘END PUBLIC KEY’. 我还使用 Google 搜索找到了以下命令。有没有更好的方法使用 OpenSSL 来做到这一点?

openssl rsa -noout -text -inform PEM -in pubkey.pem -pubin
1个回答

我在Stack Overflow 问题How to check a public RSA key file的回答中找到了令人满意的答案