mirror of
https://github.com/ruby/ruby.git
synced 2025-08-26 14:34:39 +02:00
parent
fcd2576290
commit
3f8665fe0e
8 changed files with 85 additions and 23 deletions
30
ext/openssl/lib/openssl/marshal.rb
Normal file
30
ext/openssl/lib/openssl/marshal.rb
Normal file
|
@ -0,0 +1,30 @@
|
|||
# frozen_string_literal: true
|
||||
#--
|
||||
# = Ruby-space definitions to add DER (de)serialization to classes
|
||||
#
|
||||
# = Info
|
||||
# 'OpenSSL for Ruby 2' project
|
||||
# Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
|
||||
# All rights reserved.
|
||||
#
|
||||
# = Licence
|
||||
# This program is licensed under the same licence as Ruby.
|
||||
# (See the file 'LICENCE'.)
|
||||
#++
|
||||
module OpenSSL
|
||||
module Marshal
|
||||
def self.included(base)
|
||||
base.extend(ClassMethods)
|
||||
end
|
||||
|
||||
module ClassMethods
|
||||
def _load(string)
|
||||
new(string)
|
||||
end
|
||||
end
|
||||
|
||||
def _dump(_level)
|
||||
to_der
|
||||
end
|
||||
end
|
||||
end
|
|
@ -4,8 +4,21 @@
|
|||
# Copyright (C) 2017 Ruby/OpenSSL Project Authors
|
||||
#++
|
||||
|
||||
require_relative 'marshal'
|
||||
|
||||
module OpenSSL::PKey
|
||||
class DH
|
||||
include OpenSSL::Marshal
|
||||
end
|
||||
|
||||
class DSA
|
||||
include OpenSSL::Marshal
|
||||
end
|
||||
|
||||
if defined?(EC)
|
||||
class EC
|
||||
include OpenSSL::Marshal
|
||||
end
|
||||
class EC::Point
|
||||
# :call-seq:
|
||||
# point.to_bn([conversion_form]) -> OpenSSL::BN
|
||||
|
@ -22,4 +35,8 @@ module OpenSSL::PKey
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
class RSA
|
||||
include OpenSSL::Marshal
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,24 +12,10 @@
|
|||
# (See the file 'LICENCE'.)
|
||||
#++
|
||||
|
||||
require_relative 'marshal'
|
||||
|
||||
module OpenSSL
|
||||
module X509
|
||||
module Marshal
|
||||
def self.included(base)
|
||||
base.extend(ClassMethods)
|
||||
end
|
||||
|
||||
module ClassMethods
|
||||
def _load(string)
|
||||
new(string)
|
||||
end
|
||||
end
|
||||
|
||||
def _dump(_level)
|
||||
to_der
|
||||
end
|
||||
end
|
||||
|
||||
class ExtensionFactory
|
||||
def create_extension(*arg)
|
||||
if arg.size > 1
|
||||
|
@ -57,7 +43,7 @@ module OpenSSL
|
|||
end
|
||||
|
||||
class Extension
|
||||
include Marshal
|
||||
include OpenSSL::Marshal
|
||||
|
||||
def ==(other)
|
||||
return false unless Extension === other
|
||||
|
@ -216,7 +202,7 @@ module OpenSSL
|
|||
end
|
||||
|
||||
class Name
|
||||
include Marshal
|
||||
include OpenSSL::Marshal
|
||||
|
||||
module RFC2253DN
|
||||
Special = ',=+<>#;'
|
||||
|
@ -321,7 +307,7 @@ module OpenSSL
|
|||
end
|
||||
|
||||
class Attribute
|
||||
include Marshal
|
||||
include OpenSSL::Marshal
|
||||
|
||||
def ==(other)
|
||||
return false unless Attribute === other
|
||||
|
@ -336,7 +322,7 @@ module OpenSSL
|
|||
end
|
||||
|
||||
class Certificate
|
||||
include Marshal
|
||||
include OpenSSL::Marshal
|
||||
include Extension::SubjectKeyIdentifier
|
||||
include Extension::AuthorityKeyIdentifier
|
||||
include Extension::CRLDistributionPoints
|
||||
|
@ -355,7 +341,7 @@ module OpenSSL
|
|||
end
|
||||
|
||||
class CRL
|
||||
include Marshal
|
||||
include OpenSSL::Marshal
|
||||
include Extension::AuthorityKeyIdentifier
|
||||
|
||||
def ==(other)
|
||||
|
@ -372,7 +358,7 @@ module OpenSSL
|
|||
end
|
||||
|
||||
class Request
|
||||
include Marshal
|
||||
include OpenSSL::Marshal
|
||||
|
||||
def ==(other)
|
||||
return false unless Request === other
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue