如何验证age公钥与私钥是否为配对密钥?
验证age公钥与私钥配对的方法
age是一款实用的文件加密工具,使用age-keygen可生成公钥和私钥对,示例如下:
# created: 2024-02-14T17:14:05+01:00 # public key: age1zskjrcgkgqhjaksa22ze85wy0wy2xg8sf7j8fntdgz2d4h25rp9sz76q7p AGE-SECRET-KEY-1SA9KV6M7C27GFW22ZXED69SAATLH3UMDUSN720AQR0JEN2YTU0MS7FFZA2
针对你提出的“验证age公钥与私钥是否配对”的需求,可采用以下几种方法,替代OpenSSL的模数验证逻辑:
方法1:通过加密解密测试(最直观可靠)
用待验证的公钥加密一个测试内容,再用私钥解密,若能还原原始内容,即可证明密钥配对:
- 创建测试文件:
echo "test verify pair" > test_check.txt - 用目标公钥加密文件:
age -r [你的公钥字符串] -o test_check.txt.age test_check.txt - 用目标私钥解密文件:
# 若私钥在文件中,用-i指定;若在环境变量或默认路径可省略 age -d -i [私钥文件路径] -o test_check_decrypted.txt test_check.txt.age - 对比原文件和解密后文件:
diff test_check.txt test_check_decrypted.txt
如果没有任何输出,说明两个文件内容完全一致,密钥配对有效。
方法2:从私钥导出公钥直接对比
age内置了从私钥导出对应公钥的功能,导出后与你持有的公钥对比即可:
- 将私钥保存到本地文件(比如
age_secret_key.txt) - 执行导出命令:
age-keygen -y age_secret_key.txt - 将命令输出的公钥字符串,与你需要验证的公钥直接比对,若完全相同,则证明二者配对。
内容的提问来源于stack exchange,提问作者VictoireT
相关产品推荐
相关产品推荐

