本文簡要介紹ruby語言中 OpenSSL::ASN1::Primitive類
的用法。
所有原始編碼的父類。屬性與 ASN1Data
相同,但添加了 tagging
。 Primitive
值永遠不能以不定長度形式編碼,因此無法為 Primitive
及其子類設置indefinite_length
屬性。
Primitive
子類及其到 Ruby 類的映射
-
OpenSSL::ASN1::EndOfContent <=>
value
總是nil
-
OpenSSL::ASN1::Boolean <=>
value
是true
或false
-
OpenSSL::ASN1::Integer
<=>value
是一個OpenSSL::BN
-
OpenSSL::ASN1::BitString <=>
value
是String
-
OpenSSL::ASN1::OctetString <=>
value
是String
-
OpenSSL::ASN1::Null <=>
value
總是nil
-
OpenSSL::ASN1::Object
<=>value
是一個String
-
OpenSSL::ASN1::Enumerated <=>
value
是一個OpenSSL::BN
-
OpenSSL::ASN1::UTF8String <=>
value
是String
-
OpenSSL::ASN1::NumericString <=>
value
是String
-
OpenSSL::ASN1::PrintableString <=>
value
是String
-
OpenSSL::ASN1::T61String <=>
value
是String
-
OpenSSL::ASN1::VideotexString <=>
value
是String
-
OpenSSL::ASN1::IA5String <=>
value
是String
-
OpenSSL::ASN1::UTCTime <=>
value
是Time
-
OpenSSL::ASN1::GeneralizedTime <=>
value
是Time
-
OpenSSL::ASN1::GraphicString <=>
value
是String
-
OpenSSL::ASN1::ISO64String <=>
value
是String
-
OpenSSL::ASN1::GeneralString <=>
value
是String
-
OpenSSL::ASN1::UniversalString <=>
value
是String
-
OpenSSL::ASN1::BMPString <=>
value
是String
OpenSSL::ASN1::BitString
附加屬性
unused_bits
:如果底層 BIT STRING 的長度是 8 的倍數,則 unused_bits
為 0。否則 unused_bits
指示在 BitString 的 value
的最後一個八位字節中要忽略的位數。
OpenSSL::ASN1::ObjectId
注意:雖然 OpenSSL::ASN1::ObjectId.new
將分配一個新的 ObjectId
,但通常不會以這種方式分配,而是從已解析的 ASN1
編碼中接收。
附加屬性
-
sn
:在中定義的短名稱。 -
ln
:中定義的長名稱。 -
oid
:作為String
的對象標識符,例如“1.2.3.4.5” -
short_name
:sn
的別名。 -
long_name
:ln
的別名。
例子
使用 OpenSSL::ASN1::EndOfContent 的 Exception
,每個 Primitive
類構造函數至少采用一個參數 value
。
創建EndOfContent
eoc = OpenSSL::ASN1::EndOfContent.new
創建任何其他 Primitive
prim = <class>.new(value) # <class> being one of the sub-classes except EndOfContent prim_zero_tagged_implicit = <class>.new(value, 0, :IMPLICIT) prim_zero_tagged_explicit = <class>.new(value, 0, :EXPLICIT)
相關用法
- Ruby Primitive.new用法及代碼示例
- Ruby PrettyPrint.current_group用法及代碼示例
- Ruby Process.groups用法及代碼示例
- Ruby Process.wait2用法及代碼示例
- Ruby Process.getpgrp用法及代碼示例
- Ruby Proc.eql?用法及代碼示例
- Ruby PrettyPrint.genspace用法及代碼示例
- Ruby Profiler模塊用法及代碼示例
- Ruby Process.setproctitle用法及代碼示例
- Ruby Process.setrlimit用法及代碼示例
- Ruby Proc.prc ==用法及代碼示例
- Ruby Profiler.raw_data用法及代碼示例
- Ruby Process.uid用法及代碼示例
- Ruby Process.pid用法及代碼示例
- Ruby Proc.ruby2_keywords用法及代碼示例
- Ruby Proc.new用法及代碼示例
- Ruby Process.detach用法及代碼示例
- Ruby Process.maxgroups用法及代碼示例
- Ruby Process.clock_gettime用法及代碼示例
- Ruby Proc.lambda?用法及代碼示例
- Ruby Proc.arity用法及代碼示例
- Ruby Process.exec用法及代碼示例
- Ruby Process.groups=用法及代碼示例
- Ruby Proc.(params,...)用法及代碼示例
- Ruby Profiler.result用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Primitive類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。