Class: Sphragis::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/sphragis/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/sphragis/configuration.rb', line 17

def initialize
  # Default provider
  @default_provider = ENV.fetch("SIGNATURE_PROVIDER", "fortify").to_sym

  # Fortify configuration
  @fortify_library_path = ENV.fetch("FORTIFY_LIBRARY_PATH", "/usr/lib/fortify/libfortify.so")
  @token_pin = ENV["FORTIFY_TOKEN_PIN"]
  @token_slot = ENV.fetch("FORTIFY_TOKEN_SLOT", "0").to_i
  @certificate_label = ENV.fetch("FORTIFY_CERTIFICATE_LABEL", "Signing Certificate")

  # Harica configuration
  @harica_username = ENV["HARICA_USERNAME"]
  @harica_password = ENV["HARICA_PASSWORD"]
  @harica_environment = ENV.fetch("HARICA_ENVIRONMENT", "production")

  # Itsme configuration
  @itsme_client_id = ENV["ITSME_CLIENT_ID"]
  @itsme_client_secret = ENV["ITSME_CLIENT_SECRET"]
  @itsme_user_email = ENV["ITSME_USER_EMAIL"]
  @itsme_environment = ENV.fetch("ITSME_ENVIRONMENT", "production")
end

Instance Attribute Details

#certificate_labelObject

Fortify configuration



8
9
10
# File 'lib/sphragis/configuration.rb', line 8

def certificate_label
  @certificate_label
end

#default_providerObject

Returns the value of attribute default_provider.



5
6
7
# File 'lib/sphragis/configuration.rb', line 5

def default_provider
  @default_provider
end

#fortify_library_pathObject

Fortify configuration



8
9
10
# File 'lib/sphragis/configuration.rb', line 8

def fortify_library_path
  @fortify_library_path
end

#harica_environmentObject

Harica configuration



11
12
13
# File 'lib/sphragis/configuration.rb', line 11

def harica_environment
  @harica_environment
end

#harica_passwordObject

Harica configuration



11
12
13
# File 'lib/sphragis/configuration.rb', line 11

def harica_password
  @harica_password
end

#harica_usernameObject

Harica configuration



11
12
13
# File 'lib/sphragis/configuration.rb', line 11

def harica_username
  @harica_username
end

#itsme_client_idObject

Itsme configuration



14
15
16
# File 'lib/sphragis/configuration.rb', line 14

def itsme_client_id
  @itsme_client_id
end

#itsme_client_secretObject

Itsme configuration



14
15
16
# File 'lib/sphragis/configuration.rb', line 14

def itsme_client_secret
  @itsme_client_secret
end

#itsme_environmentObject

Itsme configuration



14
15
16
# File 'lib/sphragis/configuration.rb', line 14

def itsme_environment
  @itsme_environment
end

#itsme_user_emailObject

Itsme configuration



14
15
16
# File 'lib/sphragis/configuration.rb', line 14

def itsme_user_email
  @itsme_user_email
end

#token_pinObject

Fortify configuration



8
9
10
# File 'lib/sphragis/configuration.rb', line 8

def token_pin
  @token_pin
end

#token_slotObject

Fortify configuration



8
9
10
# File 'lib/sphragis/configuration.rb', line 8

def token_slot
  @token_slot
end

Instance Method Details

#available_providersArray<Symbol>

Get available providers based on configuration

Returns:

  • List of configured providers



41
42
43
44
45
46
47
# File 'lib/sphragis/configuration.rb', line 41

def available_providers
  providers = []
  providers << :fortify if fortify_configured?
  providers << :harica if harica_configured?
  providers << :itsme if itsme_configured?
  providers
end

#fortify_configured?Boolean

Check if Fortify is configured

Returns:



50
51
52
# File 'lib/sphragis/configuration.rb', line 50

def fortify_configured?
  !fortify_library_path.nil? && !token_pin.nil?
end

#harica_configured?Boolean

Check if Harica is configured

Returns:



55
56
57
# File 'lib/sphragis/configuration.rb', line 55

def harica_configured?
  !harica_username.nil? && !harica_password.nil?
end

#itsme_configured?Boolean

Check if Itsme is configured

Returns:



60
61
62
# File 'lib/sphragis/configuration.rb', line 60

def itsme_configured?
  !itsme_client_id.nil? && !itsme_client_secret.nil? && !itsme_user_email.nil?
end