本文简要介绍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类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
