【发布时间】:2014-12-03 06:18:31
【问题描述】:
在一个 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’
谢谢
【问题讨论】:
-
使用 openssl 可能是您想要执行此操作的唯一方法。简单地检查开始/结束分隔符是没有意义的。我可以向您发送带有
BEGIN PUBLIC KEY heeheeheethisisnotvalidrsa END PUBLIC KEY的文件,您的“验证者”会接受。 -
这就是为什么我想知道一个更好的方法来验证这个公共 rsa 文件,请注意这是一个远程服务器的公共 RSA 文件。
标签: shell openssl rsa public-key pem