PKI Library documentation

## CspAlgorithmOperation Enumeration |

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Syntax

Members

Member name | Value | Description | |
---|---|---|---|

None | 0 | No operation is specified. | |

Cipher | 1 | The algorithm can be used for symmetric encryption. This includes the RC2, RC4, Data Encryption Standard (DES), 3DED, and AES algorithms. | |

Hashing | 2 | The algorithm can be used for hashing. This includes the MD2, MD4, SHA1, SHA256, SHA384, SHA512 MAC, and Hash-Based Message Authentication Code (HMAC) hashing algorithms. | |

AsymmetricEncryption | 4 | The algorithm can be used for public key encryption. This includes RSA. | |

SecretAgreement | 8 | The algorithm can used for key exchange. This includes the Diffie-Hellman algorithm and ECDH algorithm. | |

Signing | 16 | The algorithm can be used for signing. This includes the RSA algorithm, Digital Signature Algorithm (DSA), and ECDSA algorithm. | |

AnyAsymmetricOperation | 28 |
The algorithm can be used for public key encryption, key exchange, and signing. This is a bitwise-OR combination of the following constants:
- AsymmetricEncryption
- SecretAgreement
- Signing
| |

RandomNumberGeneration | 32 | The algorithm can be used to generate a random number. | |

PreferSignatureOnly | 2097152 | Signature algorithms are preferred but not required. An encryption algorithm may be chosen instead. This is used when searching for cryptographic service provider (CSP) status information based on supported operational capability. | |

PreferNonSignature | 4194304 | An encryption algorithm (such as that identified by the AnyAsymmetricOperation or SecretAgreement flags) is preferred but not required. A signature algorithm may be chosen instead. This is used when searching for CSP status information based on supported operational capability. | |

ExactMatch | 8388608 | Only an algorithm that exactly matches the specified operations is selected. | |

PreferenceMask | 14680064 | Use to mask the algorithm operation preference. |

See Also