Skip to content

SAIF.Services.WebServices.Epay overview

Documentation context: Packaged Component (NuGet)

SAIF.Services.WebServices.Epay is a small cryptographic integration helper library that implements the US Bank ePay single-sign-on (SSO) handshake. It encrypts session-transfer data using hybrid AES/RSA encryption, signs the payload with a SAIF X.509 certificate, and packages all cryptographic material into a serializable data-transfer object for transmission to US Bank's ePay service.

Purpose

  • Implement the US Bank ePay SSO cryptographic handshake: AES-encrypt the session-transfer payload, RSA-wrap the symmetric key with the US Bank certificate, and digitally sign the ciphertext with the SAIF admin authentication certificate.
  • Expose the resulting encrypted data, wrapped key, IV, and digital signature as a single serializable AdminSingleSignOnData DTO for consumption by the calling application.
  • Resolve X.509 certificates by distinguished name from the Windows certificate store, where DN components are supplied through a centralized configuration service (IEnvironmentService).

Responsibilities

  • AES encryption of session-transfer data.
  • RSA public-key wrapping of the AES symmetric key using the US Bank SSO certificate.
  • RSA digital signing of the AES-encrypted payload using the SAIF admin authentication certificate.
  • Certificate DN composition from configuration-supplied key/value pairs.
  • Certificate loading from the local machine Windows certificate store (LocalMachine\Root and LocalMachine\My).
  • Serializable DTO packaging of all four SSO handshake components as Base64-encoded strings.

Key components

  • AdminSingleSignOnData: Serializable DTO carrying the encrypted data, encrypted symmetric key, IV, and digital signature as Base64-encoded string properties over private byte-array backing fields.
  • USBank: Static VB module implementing the SSO handshake (GetSSOData), certificate DN resolution helpers, and certificate-loading helpers.

Sources

  • Services\SAIF.Services.WebServices.Epay\SAIF.BOF.Services.WebServices.Epay.vbproj
  • Services\SAIF.Services.WebServices.Epay\SAIF.BOF.Services.WebServices.Epay.nuspec
  • Services\SAIF.Services.WebServices.Epay\WebService\AdminSingleSignOnData.vb
  • Services\SAIF.Services.WebServices.Epay\WebService\USBank.vb