class Object
Constants
- ALGLOOKUP
- Bits
- DUMPFILE
- OIDLOOKUP
- SYMLOOKUP
prime192v1(1) prime192v2(2) prime192v3(3) prime239v1(4) prime239v2(5) prime239v3(6) prime256v1(7)
- StopDS
Public Instance Methods
bitstringtobytes(s)
click to toggle source
# File bin/cert-to-cwt.rb, line 47 def bitstringtobytes(s) fail "bitstring #{s}" if s[0] != "\0" s[1..-1] end
datetimeasn1(s)
click to toggle source
# File bin/cert-to-cwt.rb, line 52 def datetimeasn1(s) case s.keys when [:t] Time.iso8601(s.fetch(:t).sub(/\A(..)(..)(..)(..)(..)(..)Z\z/){"20#$1-#$2-#$3T#$4:#$5:#$6Z"}).to_i when [:gt] Time.iso8601(s.fetch(:gt).sub(/\A(....)(..)(..)(..)(..)(..(?:[.]\d*)?)Z\z/){"#$1-#$2-#$3T#$4:#$5:#$6Z"}).to_i else fail ["unknown date/time type", s.keys].inspect end end
desymbolicate(o)
click to toggle source
# File bin/cert-to-cwt.rb, line 136 def desymbolicate(o) case o when Symbol SYMLOOKUP[o] when Hash Hash[o.map {|k, v| [desymbolicate(k), desymbolicate(v)]}] when Array o.map {|x| desymbolicate(x)} when StopDS o.value else o end end
dntostring(dn)
click to toggle source
middle group stolen from netscape certificate management system administrator guide puts OIDLOOKUP.to_yaml
# File bin/cert-to-cwt.rb, line 88 def dntostring(dn) # almost RFC 4514 sets = dn.fetch(:seq) sets.map do |s| g = s.fetch(:set) g.map do |elt| aname, aval = elt.fetch(:seq) [OIDLOOKUP[aname], aval.values.first.gsub(/[ #"+,;<>\\]/){"\\#$&"}].join("=") end.join("+") end.join(",") end
numbertobytes(n)
click to toggle source
# File bin/cert-to-cwt.rb, line 33 def numbertobytes(n) if n == 0 "".b else s = n.to_s(16) s[0...0] = "0" if s.size.odd? [s].pack("H*").b end end