本文簡要介紹ruby語言中 OpenSSL::Netscape::SPKI類
的用法。
一個簡單的公鑰基礎設施實現(發音為“spooky”)。結構定義為
PublicKeyAndChallenge ::= SEQUENCE { spki SubjectPublicKeyInfo, challenge IA5STRING } SignedPublicKeyAndChallenge ::= SEQUENCE { publicKeyAndChallenge PublicKeyAndChallenge, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING }
其中SubjectPublicKeyInfo和AlgorithmIdentifier的定義可以在RFC5280中找到。 SPKI
通常在瀏覽器中使用 HTML
例子
創建 SPKI
key = OpenSSL::PKey::RSA.new 2048
spki = OpenSSL::Netscape::SPKI.new
spki.challenge = "RandomChallenge"
spki.public_key = key.public_key
spki.sign(key, OpenSSL::Digest.new('SHA256'))
#send a request containing this to a server generating a certificate
驗證 SPKI
請求
request = #...
spki = OpenSSL::Netscape::SPKI.new request
unless spki.verify(spki.public_key)
# signature is invalid
end
#proceed
相關用法
- Ruby Symbol capitalize用法及代碼示例
- Ruby SizedQueue clear()用法及代碼示例
- Ruby Spotter.spot_op_asgn2_for_name用法及代碼示例
- Ruby StringScanner skip_until用法及代碼示例
- Ruby StringScanner search_full用法及代碼示例
- Ruby String.match?用法及代碼示例
- Ruby StringScanner.beginning_of_line?用法及代碼示例
- Ruby Stat.stat <=>用法及代碼示例
- Ruby Symbol.to_proc用法及代碼示例
- Ruby Symbol.end_with?用法及代碼示例
- Ruby StringScanner restsize用法及代碼示例
- Ruby Spotter.spot_opcall_for_name用法及代碼示例
- Ruby Set flatten()用法及代碼示例
- Ruby SpecificationProvider.requirement_satisfied_by?用法及代碼示例
- Ruby Set.replace用法及代碼示例
- Ruby String delete!用法及代碼示例
- Ruby String chop!用法及代碼示例
- Ruby SizedQueue push()用法及代碼示例
- Ruby Specification.file_name用法及代碼示例
- Ruby SimpleDelegator.__setobj__用法及代碼示例
- Ruby String.unpack用法及代碼示例
- Ruby Stat.world_writable?用法及代碼示例
- Ruby String each_line用法及代碼示例
- Ruby StringScanner.pos=用法及代碼示例
- Ruby StringScanner check_until用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 SPKI類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。