Internal SAD Provider
The implementation class of the Internal SAD Provider is:
com.czertainly.signserver.module.entrustsam.sad.InternalSAMSadProvider
The following properties can be configured for the Internal SAD Provider:
| Property | Description | Default Value | Mandatory | 
|---|---|---|---|
| OTHER_SIGNERS | Sets the reference to the Crypto Token containing the key that is used to signed the SAD. The value can be comma separated list of Crypto Token names. | NONE | YES | 
| SAD_PROVIDER_KEYSTORE_INDEX | Index of the Crypto Token that is configured in OTHER_SIGNERS property. Index starts from 0. | NONE | YES | 
| SAD_PROVIDER_KEYSTORE_ALIAS | Alias of the private key stored in the keystore referenced by the Crypto Token. | NONE | YES | 
| SAD_PROVIDER_SIGNING_ALGORITHM | Algorithm used to generate the digital signature of the SAD according to the RFC 7518. Supported values: RS256, RS384 and RS512. | RS512 | NO | 
| SAD_PROVIDER_LOA | Level of assurance with which the Signer user specified in the sub field was authenticated. Values supported: LOW, MEDIUM,SUBSTANTIAL and HIGH. | HIGH | NO | 
| SAD_PROVIDER_IAT_TIME_GAP | Number of seconds that should be deducted from the current time to set the iat claim in the SAD. The value should be a positive integer. | 0 | NO | 
SAD format
The signed SAD is a JSON Web Token (JWT) with the following structure:
HEADER
{
  "kid": "SAD_PROVIDER_KEYSTORE_ALIAS",
  "typ": "JWT",
  "alg": "SAD_PROVIDER_SIGNING_ALGORITHM"
}
PAYLOAD
{
  "iss": "SAD_PROVIDER_KEYSTORE_ALIAS",
  "loa": "SAD_PROVIDER_LOA",
  "sub": "userId",
  "iat": 1715427718,
  "signing_key_id": "keyId",
  "dtbs_summary": {
    "value": "psuqzDWVpDsqajRMfmfD12isY8foSCHWy7tCddM1z0w=",
    "hashing_algorithm": "sha256"
  }
}