Class: Pkernel::Identity
- Inherits:
-
Object
- Object
- Pkernel::Identity
- Defined in:
- lib/pkernel_jce/identity.rb
Overview
Identity Identity is abstraction consist of keypair + certificate, stored separately
class Identity
attr_reader :priv_key, :cert, :keystore, :chain
def initialize(opts = {})
@priv_key = opts[:priv_key]
@cert = opts[:cert]
@keystore = opts[:keystore]
@chain = opts[:chain]
end
end end Identity
Instance Method Summary collapse
- #certificate ⇒ Object
- #key ⇒ Object
- #key=(val) ⇒ Object
- #privKey ⇒ Object
- #provider ⇒ Object
-
#provider=(val) ⇒ Object
In java world, JCE/JCA provides switchable engine to call if it is software/hardware This provider is tightly related to private key.
- #pubKey ⇒ Object
Instance Method Details
#certificate ⇒ Object
72 73 74 75 76 77 |
# File 'lib/pkernel_jce/identity.rb', line 72 def certificate if not @certificate.nil? and @certificate.java_kind_of?(Java::OrgBouncycastleCert::X509CertificateHolder) @certificate = @certificate.to_java_cert end @certificate end |
#key ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/pkernel_jce/identity.rb', line 33 def key if @key.nil? if not @privKey.nil? if not @pubKey.nil? @key = java.security.KeyPair.new(@pubKey,@privKey) elsif not @certificate.nil? @key = java.security.KeyPair.new(@certificate.public_key,@privKey) else # no possible to generate without public key end else # not possible to generate without private key end else # key is not nil... end @key end |
#key=(val) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/pkernel_jce/identity.rb', line 25 def key=(val) @key = val if not @key.nil? @privKey = PkernelJce::KeyPair.private_key(@key) @pubKey = PkernelJce::KeyPair.public_key(@key) end end |
#privKey ⇒ Object
53 54 55 56 57 58 |
# File 'lib/pkernel_jce/identity.rb', line 53 def privKey if @privKey.nil? and not @key.nil? @privKey = PkernelJce::KeyPair.private_key(@key) end @privKey end |
#provider ⇒ Object
94 95 96 97 98 99 100 101 |
# File 'lib/pkernel_jce/identity.rb', line 94 def provider if @provider.nil? PkernelJce::GConf.instance.glog.debug "Provider is nil in Identity object. Setting it to default provider '#{PkernelJce::Provider::DefProvider.name}'" @provider = PkernelJce::Provider.add_default end @provider end |
#provider=(val) ⇒ Object
In java world, JCE/JCA provides switchable engine to call if it is software/hardware This provider is tightly related to private key. Since private key is encapsulated in this object, might as well keep the pointer here. Whoever want to use the private key, also should check the provider to load correct signing engine
84 85 86 87 88 89 90 91 92 |
# File 'lib/pkernel_jce/identity.rb', line 84 def provider=(val) if not val.nil? if val.is_a?(String) and not val.empty? @provider = PkernelJce::Provider.add_provider(val) else @provider = PkernelJce::Provider.add_provider(val) end end end |
#pubKey ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/pkernel_jce/identity.rb', line 60 def pubKey if @pubKey.nil? if not @key.nil? @pubKey = PkernelJce::KeyPair.public_key(@key) elsif not @certificate.nil? @pubKey = PkernelJce::KeyPair.public_key(@certificate) end end @pubKey end |