FIX: The CryptAcquireContext function fails and NTE_PROV_TYPE_NO_MATCH is returned on a Host Integration Server client

Applies to: Host Integration Server 2013Host Integration Server 2016

Symptoms


When a Host Integration Server client tries to use the CryptAcquireContext function, the function fails and NTE_PROV_TYPE_NO_MATCH is returned under certain conditions

Cause


This problem occurs because a wrong provider type is specified, as in the following example:

CryptAcquireContext ( & hProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_FULL, CRYPT_NEWKEYSET) error: 8009 001B

If the first call to the CryptAcquireContext function fails (returns as false) and the NTE_BAD_KEYSET error is returned, a second request is sent that uses CRYPT_NEWKEYSET. However, this second call uses the wrong provider type.

In this case, you may receive the following error message:

Provider type does not match registered value.

Resolution


The fix that resolves this problem is included in the following cumulative updates for Host Integration Server:

Cumulative Update 2 for Host Integration Server 2016

Cumulative Update 4 for Host Integration Server 2013

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology Microsoft uses to describe software updates.