---
title: Configuration settings
summary: Configuration keys consumed by SAIF.Services.WebServices.Epay, retrieval methods, and runtime dependencies.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Services.WebServices.Epay
reference_type: package
---

# 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.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)

## 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`
