Skip to content

AdminSingleSignOnData

AdminSingleSignOnData is a serializable data-transfer object that carries the four cryptographic components of the US Bank ePay SSO handshake — encrypted payload, RSA-wrapped AES key, initialization vector, and digital signature — each encoded as a Base64 string for transport. Instances are produced exclusively by USBank.GetSSOData and are intended for read-only consumption by the calling application.

Purpose

  • Package the four SSO handshake outputs (encrypted data, wrapped key, IV, and signature) into a single, transport-ready object.
  • Expose each component as a Base64-encoded string property over a private Byte() backing field.
  • Prevent external mutation: property setters are Private Set and discard any assigned value rather than storing it, so the fields can only be populated via the constructor.* See BR-002.

Context

  • Namespace: SAIF.Services.WebServices.Epay
  • Assembly/package: SAIF.Services.WebServices.Epay (SAIF.BOF.Services.WebServices.Epay.nupkg)
  • Source: Services\SAIF.Services.WebServices.Epay\WebService\AdminSingleSignOnData.vb

Public members

Member Signature Purpose
Constructor Public Sub New(encryptedData As Byte(), encryptedKey As Byte(), iv As Byte(), signature As Byte())* Initializes the DTO with the four cryptographic byte arrays produced by the SSO handshake; backing fields are set directly by the constructor, bypassing the Private Set implementations.*
EncryptedData Public Property EncryptedData As String (Private Set) Returns the AES-encrypted session-transfer payload as a Base64-encoded string. The Private Set discards any assigned value (sets the backing Byte() field to Nothing) rather than storing it.*
EncryptedKey Public Property EncryptedKey As String (Private Set) Returns the RSA-wrapped AES symmetric key as a Base64-encoded string. Private Set discards.*
IV Public Property IV As String (Private Set) Returns the AES initialization vector as a Base64-encoded string. Private Set discards.*
Signature Public Property Signature As String (Private Set) Returns the RSA digital signature over the encrypted payload as a Base64-encoded string. Private Set discards.*

Behavioral notes

  • All four properties are effectively read-only from a consumer's perspective: the Private Set implementations erase the backing byte array (= Nothing) rather than storing the supplied value, so external assignment (or any internal setter call) cannot update the stored data.* See BR-002.
  • The type is not a BOF business object: it does not inherit clsBusinessBase/clsBusinessCollectionBase and implements no IBusinessCriteria.
  • Each property's Get accessor converts its private Byte() backing field to a Base64-encoded string for the return value.*

Constraints and usage notes

  • Instances should only be created by USBank.GetSSOData; the constructor is public but is designed for internal construction of the SSO result.*
  • All four components are required to complete the SSO handshake exchange with US Bank ePay; a partial payload (any field empty or Nothing) would represent a handshake failure.
  • Because the Private Set erases the backing field, there is no way to re-populate a property value after construction without creating a new instance.*

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\AdminSingleSignOnData.vb