Skip to content

SAIF.Services.WebServices.Epay dependencies

Internal dependencies

All internal dependencies are consumed as NuGet package references; the solution contains only this library's own project and no in-repo project references.

Dependency Reference Type Usage
SAIF.BOF.Framework v2.0.22103.3 (Bindable, Connection, Core, DNS, Logging, Mail, Security, Security.EnvironmentApi) NuGet Package Actively used: USBank.vb imports SAIF.Framework.Security and aliases SAIF.Framework.Security.Cryptography as SAIFCrypto, calling SAIFCrypto.AES.Encrypt, SAIFCrypto.Certificates.EncryptWithCertPublicKey, SAIFCrypto.Certificates.SignWithCertPrivateKey, and SAIFCrypto.Certificates.LoadCert/GetDistinguishedName.
SAIF.Framework.Common v2.0.22074.3 NuGet Package Actively used: USBank.vb imports SAIF.Framework.Extensions and calls AppGlobal.EnvironmentService.GetConfigSetting(...) for the three certificate-DN settings.
SAIF.HashUtil v2.0.22083.2 NuGet Package Declared dependency; no direct usage found in compiled source.**
SAIF.Web.API.Clients v2.0.22083.1 (assemblies SAIF.Web.API.Clients, SAIF.Web.API.Core) NuGet Package Declared dependency; no direct usage found in compiled source.**

External dependencies

Dependency Version Usage
Newtonsoft.Json 8.0.3 Declared; not directly used — USBank.vb uses System.Web.Script.Serialization.JavaScriptSerializer (from System.Web.Extensions) for JSON deserialization instead.
Oracle.ManagedDataAccess 21.5.0 Declared; provider factory registered in Web.config/App.config only, not invoked by any compiled code in this library.
RestSharp 106.12.0 Declared; not used in compiled source.
System.Web.Extensions (framework assembly) — Provides JavaScriptSerializer, used by GetCertificateParameters to deserialize the cert-DN configuration JSON.
System.Security.Cryptography.X509Certificates (BCL) — X509Certificate2, StoreName, and StoreLocation used directly for certificate-store lookups.
BCL polyfill packages (Microsoft.Bcl.AsyncInterfaces, System.Buffers, System.Memory, System.Numerics.Vectors, System.Runtime.CompilerServices.Unsafe, System.Text.Encodings.Web, System.Text.Json, System.Threading.Tasks.Extensions, System.ValueTuple) various Transitive BCL polyfill packages; not directly consumed by this library's code.

Configuration dependencies

Certificate-DN configuration keys required at runtime by this library:

Setting key Retrieval method Consuming member Varies by environment
usBankEPaySSOCertDN AppGlobal.EnvironmentService.GetConfigSetting USBank.LoadUSBankCert (via GetCertificateParameters) Yes — differs between test/production US Bank SSO certificates.
usBankEPayAuthenticationCertDN AppGlobal.EnvironmentService.GetConfigSetting USBank.GetSAIFCertDistinguishedName (via GetCertificateParameters) Yes — differs per environment/certificate rotation.
usBankEPayAuthenticationAdminCertDN AppGlobal.EnvironmentService.GetConfigSetting USBank.GetSAIFAdminCertDistinguishedName (via GetCertificateParameters) Yes — differs per environment/certificate rotation.

See Configuration for the full settings catalog.

Dependency risks and notes

  • No cached inherited framework context is available for SAIF.Framework.Security.Cryptography (SAIFCrypto) or AppGlobal.EnvironmentService/IEnvironmentService — their definitions live in referenced framework packages (SAIF.BOF.Framework/SAIF.Framework.Common), and classification as framework-inherited is based on absence of local definitions plus the corresponding package references, not independently confirmed against framework source.**
  • If any of the three cert-DN configuration keys is missing or contains malformed JSON, JavaScriptSerializer.Deserialize throws, and the corresponding Load*Cert call fails — surfacing as ApplicationException("USBank Cert not found.") / "SAIF cert not found." in GetSSOData.
  • Because certificates are resolved by DN lookup against the local machine certificate store rather than a secure config vault, correct deployment of the corresponding certificates to each environment's certificate store is an implicit, undocumented-in-config runtime dependency.
  • wsCreditCardPayment.vb depends on an undefined type (USB_EPay.SessionTransfer) not present in this library or its declared package dependencies; it is excluded from the compile list and does not build or ship as part of this assembly.
  • Several declared package dependencies (SAIF.HashUtil, SAIF.Web.API.Clients, Oracle.ManagedDataAccess, RestSharp) show no confirmed usage in compiled source — their presence may reflect shared project-template boilerplate rather than active runtime need.**

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Services\SAIF.Services.WebServices.Epay\WebService\USBank.vb
  • Services\SAIF.Services.WebServices.Epay\SAIF.BOF.Services.WebServices.Epay.vbproj
  • Services\SAIF.Services.WebServices.Epay\packages.config
  • Services\SAIF.Services.WebServices.Epay\Web.config
  • Services\SAIF.Services.WebServices.Epay\App.config