當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby PKey.sign用法及代碼示例

本文簡要介紹ruby語言中 OpenSSL::PKey::PKey.sign 的用法。

用法

sign(digest, data [, options]) → string

使用消息摘要算法 digest 和私鑰 pkeydata 進行散列和簽名。

驗證操作見 verify

另請參見手冊頁EVP_DigestSign(3)。

digest

String 表示消息摘要算法名稱,如果 PKey 類型不需要摘要算法,則為 nil。為了向後兼容,這可以是 OpenSSL::Digest 的一個實例。它的狀態不會影響簽名。

data

一個 String 。要散列和簽名的數據。

options

一個 Hash ,包含針對 OpenSSL 的算法特定控製操作。有關詳細信息,請參閱 OpenSSL 的手冊頁 EVP_PKEY_CTX_ctrl_str(3)。 options 參數是在 3.0 版中添加的。

例子:

data = "Sign me!"
pkey = OpenSSL::PKey.generate_key("RSA", rsa_keygen_bits: 2048)
signopts = { rsa_padding_mode: "pss" }
signature = pkey.sign("SHA256", data, signopts)

# Creates a copy of the RSA key pkey, but without the private components
pub_key = pkey.public_key
puts pub_key.verify("SHA256", signature, data, signopts) # => true

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 PKey.sign。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。