shell – 如何检查公共RSA密钥文件

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甚至自己解析密钥,因为格式并不困难.

解析失败时,命令行工具设置非零退出代码:

openssl rsa -inform PEM -pubin -in pubkey.pem -noout &> /dev/null
if [ $? != 0 ] ; then
    echo "this was definitely not a RSA public key in PEM format"
    exit 1
fi

只是检查任何公钥:

openssl pkey -inform PEM -pubin -in pubkey.pem -noout &> /dev/null
if [ $? != 0 ] ; then
    echo "this was definitely not a public key in PEM format"
    exit 1
fi

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...