Skip to content

Configuration settings

SAIF.Services.WebServices.Epay consumes configuration exclusively through IEnvironmentService.GetConfigSetting, accessed via AppGlobal.EnvironmentService. Three settings keys were identified — all provide X.509 certificate distinguished-name (DN) components that drive certificate resolution at runtime. No ConfigurationManager.AppSettings, GetSecureConfigSetting, or database connection configuration is used by this library.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
GetConfigSetting(String) AppGlobal.EnvironmentService (IEnvironmentService) SAIF.Framework.Security* Called statically via AppGlobal.EnvironmentService.GetConfigSetting(ParameterKey) inside the private helper GetCertificateParameters, which is shared by all three certificate-lookup call sites in the USBank module. The returned value is a JSON-serialized string deserialized into a Dictionary(Of String, String) representing X.509 certificate DN components (e.g., CN, OU, O, L, S, C).

Environment API settings

Settings retrieved via IEnvironmentService.GetConfigSetting (centralized environment configuration service).

Setting key Method Data type Purpose Consuming class Source
usBankEPaySSOCertDN GetConfigSetting String (JSON dictionary) Distinguished-name components for the US Bank SSO public certificate in LocalMachine\Root; deserialized into DN key/value pairs for SAIFCrypto.Certificates.GetDistinguishedName. Varies by environment (test vs. production US Bank SSO certificate). USBank module — LoadUSBankCert via GetCertificateParameters Services\SAIF.Services.WebServices.Epay\WebService\USBank.vb
usBankEPayAuthenticationCertDN GetConfigSetting String (JSON dictionary) Distinguished-name components for the SAIF authentication certificate in LocalMachine\My. Varies per environment/certificate rotation. USBank module — GetSAIFCertDistinguishedName via GetCertificateParameters Services\SAIF.Services.WebServices.Epay\WebService\USBank.vb
usBankEPayAuthenticationAdminCertDN GetConfigSetting String (JSON dictionary) Distinguished-name components for the SAIF admin authentication certificate in LocalMachine\My. Varies per environment/certificate rotation. USBank module — GetSAIFAdminCertDistinguishedName via GetCertificateParameters Services\SAIF.Services.WebServices.Epay\WebService\USBank.vb

Transitive configuration (from dependencies)

Setting key Method Source dependency Dependency type Purpose
IEnvironmentService implementation settings* GetConfigSetting SAIF.BOF.Framework / SAIF.Framework.Common NuGet (Internal) The concrete IEnvironmentService implementation's own configuration requirements are provided transitively by the hosting application or framework layer and are not defined or consumed by this library directly.*

Configuration dependencies

Dependency Type Required at Impact if missing
AppGlobal.EnvironmentService (IEnvironmentService) Framework service (from SAIF.BOF.Framework/SAIF.Framework.Common) Runtime / per-invocation All cert-DN lookups fail; GetCertificateParameters throws; GetSSOData and GetSAIFCertDistinguishedName cannot proceed.
US Bank SSO certificate (DN from usBankEPaySSOCertDN) Windows certificate store (LocalMachine\Root) Runtime LoadUSBankCert returns Nothing; GetSSOData throws ApplicationException("USBank Cert not found.").
SAIF admin authentication certificate (DN from usBankEPayAuthenticationAdminCertDN) Windows certificate store (LocalMachine\My) Runtime LoadSaifAdminCert returns Nothing; GetSSOData throws ApplicationException("SAIF cert not found.").
SAIF authentication certificate (DN from usBankEPayAuthenticationCertDN) Windows certificate store (LocalMachine\My) Runtime LoadSAIFCert (Friend-scoped) fails; this certificate is not used by GetSSOData in the current code but is required by any caller of GetSAIFCertDistinguishedName/LoadSAIFCert.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • Services\SAIF.Services.WebServices.Epay\WebService\USBank.vb
  • Services\SAIF.Services.WebServices.Epay\My Project\Settings.Designer.vb
  • Services\SAIF.Services.WebServices.Epay\Web.config
  • Services\SAIF.Services.WebServices.Epay\App.config
  • Services\SAIF.Services.WebServices.Epay\SAIF.BOF.Services.WebServices.Epay.vbproj