Class: NeetoJwtEngine::EllipticKeyGeneratorService

Inherits:
Object
  • Object
show all
Defined in:
app/services/neeto_jwt_engine/elliptic_key_generator_service.rb

Constant Summary collapse

CURVES =
{
  ES256: "prime256v1"
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(algorithm = "ES256") ⇒ EllipticKeyGeneratorService



14
15
16
17
# File 'app/services/neeto_jwt_engine/elliptic_key_generator_service.rb', line 14

def initialize(algorithm = "ES256")
  @curve = CURVES[algorithm.to_sym]
  @elliptic_curve_key = OpenSSL::PKey::EC.generate(curve)
end

Instance Attribute Details

#curveObject (readonly)

Returns the value of attribute curve.



12
13
14
# File 'app/services/neeto_jwt_engine/elliptic_key_generator_service.rb', line 12

def curve
  @curve
end

#elliptic_curve_keyObject (readonly)

Returns the value of attribute elliptic_curve_key.



12
13
14
# File 'app/services/neeto_jwt_engine/elliptic_key_generator_service.rb', line 12

def elliptic_curve_key
  @elliptic_curve_key
end

#private_keyObject (readonly)

Returns the value of attribute private_key.



12
13
14
# File 'app/services/neeto_jwt_engine/elliptic_key_generator_service.rb', line 12

def private_key
  @private_key
end

#public_keyObject (readonly)

Returns the value of attribute public_key.



12
13
14
# File 'app/services/neeto_jwt_engine/elliptic_key_generator_service.rb', line 12

def public_key
  @public_key
end