Module: Privy::Cryptography

Defined in:
lib/privy/cryptography.rb

Defined Under Namespace

Classes: HpkeRecipient, P256KeyPair

Class Method Summary collapse

Class Method Details

.generate_p256_key_pairObject

Returns a P256KeyPair with base64-encoded SPKI (public) and PKCS8 (private) keys.



12
13
14
15
16
17
18
# File 'lib/privy/cryptography.rb', line 12

def self.generate_p256_key_pair
  key = OpenSSL::PKey::EC.generate("prime256v1")
  P256KeyPair.new(
    public_key: [key.public_to_der].pack("m0"),
    private_key: [key.private_to_der].pack("m0")
  )
end

.import_pkcs8_private_key(base64_pkcs8) ⇒ Object



20
21
22
23
# File 'lib/privy/cryptography.rb', line 20

def self.import_pkcs8_private_key(base64_pkcs8)
  der = base64_pkcs8.unpack1("m0")
  OpenSSL::PKey.read(der)
end