如何解决Shell 脚本检查暴力破解私钥密码
一点背景知识:我有一对公钥和私钥,我最近尝试使用它们,但出现错误。起初我以为我混淆了我的密钥对,所以我想通过运行来检查它们是否相互对应
openssl pkcs8 –noout –modulus –in private.key | openssl md5
openssl x509 –noout –modulus –in public.cer -inform der | openssl md5
结果:
pkcs8: Use -help for summary.
(stdin)= d41d8cd98f00b204e9800998ecf8427a
x509: Unknown parameter –noout
x509: Use -help for summary.
(stdin)= d41d8cd98f00b204e9800998ecf8427a
据我所知,他们确实是正确的一对。所以下一个选项是我使用了不正确的密码,以检查我是否运行了这种情况:
openssl pkcs8 -inform DER -in private.key -passin pass:my-password -outform PEM -out key.pem
我选择这个命令的唯一原因是我在一个类似的问题中找到了它。如果我是正确的,那么如果密码有效,它应该创建一个非空的 key.pem 文件,对吗?
好的所以输出是
Error decrypting key
139814470870336:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:583:
139814470870336:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:../crypto/pkcs12/p12_decr.c:62:
139814470870336:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:../crypto/pkcs12/p12_decr.c:93:
所以我猜密码不正确(如果完全有其他问题,请告诉我)。我根据我记得的内容生成了一个可能的密码列表,并想尝试暴力破解它,以便我可以找到它。
我制作了一个非常简单的 bash 脚本,但因为我之前从未这样做过,所以我不确定它是否应该按预期工作
!/bin/bash
file="./options.txt"
while IFS= read line
do
openssl pkcs8 -inform DER -in private.key -passin pass:$line -outform PEM -out key.pem
if [ -s key.pem ]; then
echo "$line" >> psw.txt
break
else
echo "$line" >> no-psw.txt
fi
done <"$file"
我能在 psw.txt
文件中获得正确的密码吗?还有什么我遗漏的吗?
谢谢大家。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。