Skip to main content

Certificate Requirements

EmpowerID uses certificates to provide authentication, integrity, and confidentiality for messages exchanged between platform components and federated partners. EmpowerID deployments require three distinct types of certificates: SSL/TLS certificates for web communications, System Access certificates for service authentication, and Federation certificates for federated identity exchanges. Each certificate type serves a specific purpose and has its own technical requirements.

Certificate Types and Purposes

SSL/TLS Certificate

Purpose: Secures the EmpowerID website and makes it HTTPS capable.

The SSL/TLS certificate is deployed in IIS to encrypt web traffic and establish secure HTTPS connections for the EmpowerID website.

System Access Certificate

Purpose: Provides certificate-based authentication for intra-process communication between EmpowerID services.

The System Access certificate is selected during EmpowerID installation. EmpowerID services use this certificate to encrypt and validate security tokens during service-to-service authentication. The private key for this certificate must be available to EmpowerID services to decrypt tokens passed by the Security Token Service (STS).

Federation Certificate

Purpose: Signs SAML assertions and auth request signing for federated authentication with external partners.

The Federation certificate supports EmpowerID's federated security model by signing and encrypting SAML assertions and WS-Federation security tokens issued by the EmpowerID Security Token Service (STS) during federated communications.

Technical Requirements

Each certificate type has specific technical requirements that must be met for proper EmpowerID operation.

SSL/TLS Certificate Requirements

RequirementSpecification
ValidityCertificate must be valid
Deployment LocationCertificates (Local Computer)\Personal store
Minimum Intended PurposeServer Authentication
Key UsageDigital Signature, Key Encipherment
Enhanced Key UsageServer Authentication
Signature Algorithmsha256RSA
Signature Hash Algorithmsha256
Thumbprint Algorithmsha1
ProviderMicrosoft Enhanced RSA and AES Cryptographic Provider
Certificate AuthorityMust be issued by a Certificate Authority in the Trusted Root Certification Authorities of the local machine

System Access Certificate Requirements

RequirementSpecification
ValidityCertificate must be valid
Deployment LocationCertificates (Local Computer)\Personal store
Minimum Intended PurposeClient/Server Authentication and Encryption
Key UsageDigital Signature, Key Encipherment
Enhanced Key UsageServer Authentication, Client Authentication
Signature Algorithmsha256RSA
Signature Hash Algorithmsha256
Thumbprint Algorithmsha1
ProviderMicrosoft Enhanced RSA and AES Cryptographic Provider
Certificate AuthoritySelf-signed or issued by a private Certificate Authority supporting Client Authentication EKU

Federation Certificate Requirements

RequirementSpecification
ValidityCertificate must be valid
Deployment LocationCertificates (Local Computer)\Personal store
Minimum Intended PurposeClient/Server Authentication and Encryption
Key UsageDigital Signature, Key Encipherment
Enhanced Key UsageServer Authentication, Client Authentication
Signature Algorithmsha256RSA
Signature Hash Algorithmsha256
Thumbprint Algorithmsha1
ProviderMicrosoft Enhanced RSA and AES Cryptographic Provider
Certificate AuthoritySelf-signed or issued by a private Certificate Authority supporting Client Authentication EKU
💡Using One Certificate

You can use the same certificate for multiple purposes if it meets all required specifications. For example, a single certificate that includes both Server Authentication and Client Authentication EKUs can serve as both the SSL/TLS certificate and the System Access certificate.

Certificate Management

Adding Additional Certificates

After initial installation, you can add more certificates to EmpowerID for use in Single Sign-On processes. Certificates used for signing must:

  • Have a valid certificate chain
  • Be installed in the Personal Certificate store of the Local Machine with a private key
  • Grant the Application Pool and Service identities access to the private key

Certificate Distribution by Server Role

Different EmpowerID server roles require different certificate configurations.

EmpowerID Service Certificate Requirements

Certificate TypePurpose
Private Key Certificate (all services)The private key is owned by the service to decrypt security tokens
Public Key Certificate (all services)Allows each service to communicate with other services
Public Key Certificate (all issuers)Allows any issuer to be used in a federation

EmpowerID Web Role Server Certificate Requirements

Certificate TypePurpose
Private Key CertificateThe issuer needs access to the private key to generate XML digital signatures for integrity and source verification
Public Key Certificate (all services)The relying party public key certificate establishes trust and encrypts security tokens

Certificate Deployment by Machine Type

Machines running EmpowerID services require:

  • Root Certificate for CA
  • System Access Certificate Public Key
  • Federation Certificate Public Key

Machines running EmpowerID Web Role Server require:

  • Root Certificate for CA
  • SSL/TLS Certificate Private and Public Key
  • System Access Certificate Private and Public Key
  • Federation Certificate Private and Public Key

Certificate Compliance

EmpowerID performs its own validation to ensure deployed certificates meet minimum requirements. This validation accounts for both self-signed certificates and certificate-authority issued certificates within the issuing chain.

Although EmpowerID does not support Peer or Chain trust, you may use these certificate validation types in your client applications. If you use Peer trust validation, your certificates must be deployed in the Trusted People store for your client application to work.

🔍Certificate Provider Check

To find the Provider for your current certificate, run certutil -store my from the command prompt once the certificate is imported into the Computer account Personal store.

Additional Resources

⚠️Certificate Request Procedures

To ensure your certificates meet the requirements for EmpowerID, see the following support articles:

Requesting a SHA-256 certificate for EmpowerID using Active Directory Certificate Services
https://support.empowerid.com/hc/en-us/articles/206834217-Requesting-a-SHA-256-certificate-for-EmpowerID-using-Active-Directory-Certificate-Services

Requesting a SHA-256 certificate for EmpowerID using an external certificate authority
https://support.empowerid.com/hc/en-us/articles/206113388-Requesting-a-SHA-256-certificate-for-EmpowerID-using-an-external-certificate-authority