本文簡要介紹ruby語言中 OpenSSL::PKey::PKey.sign_raw
的用法。
用法
sign_raw(digest, data [, options]) → string
使用私鑰 pkey
簽名 data
。與 sign
不同,data
不會被 digest
自動散列。
驗證操作見 verify_raw
。
在 3.0 版中添加。另請參見手冊頁EVP_PKEY_sign(3)。
digest
-
String
表示消息摘要算法名稱,如果PKey
類型不需要摘要算法,則為nil
。盡管此方法不會對其進行哈希data
,但根據簽名算法,可能仍需要此參數。 data
-
一個
String
。要簽名的數據。 options
-
一個
Hash
,包含針對 OpenSSL 的算法特定控製操作。有關詳細信息,請參閱 OpenSSL 的手冊頁 EVP_PKEY_CTX_ctrl_str(3)。
例子:
data = "Sign me!"
hash = OpenSSL::Digest.digest("SHA256", data)
pkey = OpenSSL::PKey.generate_key("RSA", rsa_keygen_bits: 2048)
signopts = { rsa_padding_mode: "pss" }
signature = pkey.sign_raw("SHA256", hash, signopts)
# Creates a copy of the RSA key pkey, but without the private components
pub_key = pkey.public_key
puts pub_key.verify_raw("SHA256", signature, hash, signopts) # => true
相關用法
- Ruby PKey.sign用法及代碼示例
- Ruby PKey.generate_parameters用法及代碼示例
- Ruby PKey.generate_key用法及代碼示例
- Ruby PKey.compare?用法及代碼示例
- Ruby PKey.encrypt用法及代碼示例
- Ruby PrettyPrint.current_group用法及代碼示例
- Ruby Pathname.<=>用法及代碼示例
- Ruby Pathname.children用法及代碼示例
- Ruby Process.groups用法及代碼示例
- Ruby Process.wait2用法及代碼示例
- Ruby Process.getpgrp用法及代碼示例
- Ruby Proc.eql?用法及代碼示例
- Ruby PTY.open用法及代碼示例
- Ruby PrettyPrint.genspace用法及代碼示例
- Ruby Profiler模塊用法及代碼示例
- Ruby Process.setproctitle用法及代碼示例
- Ruby PPMethods.comma_breakable用法及代碼示例
- Ruby Process.setrlimit用法及代碼示例
- Ruby Proc.prc ==用法及代碼示例
- Ruby Profiler.raw_data用法及代碼示例
- Ruby Process.uid用法及代碼示例
- Ruby Pathname.descend用法及代碼示例
- Ruby Process.pid用法及代碼示例
- Ruby Proc.ruby2_keywords用法及代碼示例
- Ruby Pathname.getwd用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 PKey.sign_raw。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。