本文简要介绍ruby语言中 OpenSSL::PKey::PKey.sign
的用法。
用法
sign(digest, data [, options]) → string
使用消息摘要算法 digest
和私钥 pkey
对 data
进行散列和签名。
验证操作见 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 PKey.sign_raw用法及代码示例
- 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。