<serviceCertificates> Element

This is an optional child element of the sustainsys.saml2 element.

Specifies the certificate(s) that the service provider uses for encrypted assertions (and for signed requests, once that feature is added). If neither of those features are used, this element can be ommitted.

The public key(s) will be exposed in the metadata and the private key(s) will be used during decryption/signing.

Individual certificates are added via an <add> element, so the resulting XML will be similar to the following:

<serviceCertificates>
    <add use="" status="" metadataPublishOverride="" />
    <add use="" status="" metadataPublishOverride="" />
    ...
</serviceCertificates>

Attributes

use

Indicates how the certificate will be used. Options are:

  • Signing

  • Encryption

  • Both (default)

status

Indicates whether the certificate is a current or future certificate – used in key rollover scenarios. Options are:

  • Current (default)

  • Future

metadataPublishOverride

By default the certificate will be used and published by the rules shown in the table below. To override this behavior choose one of the following options for this attribute:

  • None (Default) - published according to the rules in the table below.

  • PublishUnspecified

  • PublishEncryption

  • PublishSigning

  • DoNotPublish

Use

Status

Published in Metadata

Used by Saml2

Both

Current

Unspecified unless Future key exists, then Signing

Yes

Both

Future

Unspecified

For decryption only

Signing

Current

Signing

Yes

Signing

Future

Signing

No

Encryption

Current

Encryption unless Future key exists then not published

Yes

Encryption

Future

Encryption

Yes

filepath

Filename and path to local SP certificate, only to be used in testing.

storeName

Store name when to be used with certificate store, ex. My

storeLocation

Store name when to be used with certificate store, ex. LocalMachine

x509FindType

Type to find the X509 certificate in store ex. FindByThumbprint.

Allows for System.Security.Cryptography.X509Certificates.X509FindTypes enum.

findValue

The value to be find according to the x509FindType.