MS CSP: difference between AT_SIGNATURE and RSA_KEY_SIGN (as well as AT_KEYEXCHANGE and CALG_RSA_KEYX)

I am writing a CSP library (for CryptoAPI) for smart cards that my company sells.

I have a question about the difference between the AT_SIGNATURE key type and the CALG_RSA_SIGN algorithm for the private key (the same for AT_KEYEXCHANGE and CALG_RSA_KEYX).

I know what is written on the MSDN website, but how exactly should the CSP DLL work if any of the CALG_RSA algorithms ... is specified in a call to the CPGenKey () function? I mean, should it generate the RSA private secret key or should the key be generated and stored on the card? Or maybe it depends on the flags specified in the CPAcquireContext () call (CRYPT_VERIFY_CONTEXT, i.e.), and AT_SIGNATURE should be defined as the "default signature algorithm", which is RSA for our cards?

thank

+3
source share

Source: https://habr.com/ru/post/1761562/


All Articles