当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Primitive类用法及代码示例


本文简要介绍ruby语言中 OpenSSL::ASN1::Primitive类 的用法。

所有原始编码的父类。属性与 ASN1Data 相同,但添加了 tagging Primitive 值永远不能以不定长度形式编码,因此无法为 Primitive 及其子类设置indefinite_length 属性。

Primitive 子类及其到 Ruby 类的映射

  • OpenSSL::ASN1::EndOfContent <=> value 总是 nil

  • OpenSSL::ASN1::Boolean <=> valuetruefalse

  • 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_namesn 的别名。

  • long_nameln 的别名。

例子

使用 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-lang.org大神的英文原创作品 Primitive类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。