LEGACY WINDOWS COMPATIBILITY

CSP/CAPI decision and modernization guide

CSP/CAPI is a separate legacy contract. A modern KSP cannot be presented as a transparent replacement unless the consuming application and provider type are tested.

01

Decision matrix

Application behaviorRecommended pathPublic status
Uses NCrypt/CNGUse CNG/KSP profileControlled Pilot
Uses CryptAcquireContext/CryptSignHashAssess CSP/CAPI bridgeCompatibility profile only
Configurable provider interfaceMigrate to CNG/KSPPreferred
Vendor application with fixed CSPVendor-specific test or modernizationNo generic support claim
Requires unsupported legacy algorithmModernize application/profileNot supported by default

02

Legacy API inventory

AreaRepresentative APIsEvidence required
Context/containerCryptAcquireContext, CryptReleaseContextProvider type, container naming and flags
Key lifecycleCryptGenKey, CryptGetUserKey, CryptDestroyKeyKey type, export policy and deletion
Hash/signCryptCreateHash, CryptHashData, CryptSignHashHash/signature encoding and verifier
Certificate storeCertOpenStore, CryptAcquireCertificatePrivateKeyCertificate/private-key association
ErrorsGetLastError / NTE_*Error mapping and retry policy

03

Migration guidance

  1. Inventory the application API calls and provider type.
  2. Confirm whether the vendor supports CNG/KSP.
  3. Map containers and certificates to the modern key model.
  4. Run dual-path signature and rollback tests.
  5. Retire CSP only after all consuming applications are migrated.