【发布时间】:2018-04-09 14:37:50
【问题描述】:
我想使用 Ruby 及其 OpenSSL 模块来检查公钥是否与给定的私钥匹配。基本上,用户输入了私钥和公钥,我想确保它们匹配(它们属于同一密钥对)。
我怎样才能做到这一点?
【问题讨论】:
-
@mudasobwa 我希望像
public_key.matches?(private_key)这样的 OpenSSL 方法,但我找不到类似的东西。所以我不知道如何检查它们是否匹配
我想使用 Ruby 及其 OpenSSL 模块来检查公钥是否与给定的私钥匹配。基本上,用户输入了私钥和公钥,我想确保它们匹配(它们属于同一密钥对)。
我怎样才能做到这一点?
【问题讨论】:
public_key.matches?(private_key) 这样的 OpenSSL 方法,但我找不到类似的东西。所以我不知道如何检查它们是否匹配
我找到的解决方案是使用私钥对消息进行签名,然后尝试使用公钥验证消息:
public_key.verify(OpenSSL::Digest::SHA256.new, private_key.sign(OpenSSL::Digest::SHA256.new, 'message'), 'message')
【讨论】: