• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 297
  • Last Modified:

Order the encryption and hashing algorithms in order of preference within the CSP?

We have a two-tier pki hierarchy configured (offline root, subordinate CA) running on Microsoft Server 2012 R2. We're in the process of configuring LDAPs in our environment (and it's configured and working in our test environment).  The problem is we require AES256 to be used and I am trying to figure out how to force it on the connection when another server makes an LDAP query. Connecting with ldp.exe (and enabling the LDAP_OPT_SSL_INFO option), it's showing a cipher strength of 128-bits.

I'm guessing that on the CA side the cryptographic storage provider (CSP) that is selected determines which encryption options are available. Based on what the client has available; the client/server negotiate the highest level of encryption they can both agree on.

The certificate template that I used (which is based off of the Kerberos Authentication template) has "Microsft RSA SChannel Cryptographic Provider" selected only.  After doing some searching I am unable to determine if this would allow AES256.

So here are my questions:

1. Assuming my thinking (above) is correct on how CSPs work with Microsoft Certificate Services, which CSP should be used to allow AES256 - and if multiple support AES256 - which one is recommended?  If not please clarify how this works.

2. is there a way to order the encryption and hashing algorithms in order of preference within the CSP (via the registry or something?).
2 Solutions
The AES 256 encryption support added since Windows Vista

SHA and MD are hashing algorithms and AES is advanced encryption standard
SHA isn't encryption, it's a one-way hash function. AES (Advanced_Encryption_Standard) is a symmetric encryption standard.
SHA is used to generate a hash of data and AES is used to encrypt data.

By default 2008 and above CA are not prepared for AES 256
You need to run certain commands to make it AES 256 compliant

Check Configure CA encryption Settings in below article to find out commands

Also you can create Suite-B compliant V3 templates (2008 mode) by duplicating existing template
Check Creating Suite-B compliant Certificate templates in above article

Test above in test lab 1st
btanExec ConsultantCommented:
you should be able to dictate through use of CA certificate template, see this. Windows Server 2012 introduces the option to order the cryptographic service providers (CSPs) or key storage providers (KSPs) on the Cryptography tab. Inside you should be able to see the  Algorithm name & Minimum key size and should be able to select the CSP. It can also be enforced in Certutil as stated in Mahesh posting. The CSP should be Next Gen Crypto (which you will see in listing of CSP with "#" sign

The full setup of 2012 CA is  found in this blog, and if if you see the certutil at step 34, it stated below
certutil -setreg CA\EncryptionCSP\CNGEncryptionAlgorithm AES
certutil -setreg CA\EncryptionCSP\SymmetricKeySize 256
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

We Need Your Input!

WatchGuard is currently running a beta program for our new macOS Host Sensor for our Threat Detection and Response service. We're looking for more macOS users to help provide insight and feedback to help us make the product even better. Please sign up for our beta program today!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now