\r
@param[out] Md4Context Pointer to MD4 context being initialized.\r
\r
@retval TRUE MD4 context initialization succeeded.\r
@retval FALSE MD4 context initialization failed.\r
\r
@param[out] Md4Context Pointer to MD4 context being initialized.\r
\r
@retval TRUE MD4 context initialization succeeded.\r
@retval FALSE MD4 context initialization failed.\r
\r
If Md4Context is NULL, then return FALSE.\r
If NewMd4Context is NULL, then return FALSE.\r
\r
If Md4Context is NULL, then return FALSE.\r
If NewMd4Context is NULL, then return FALSE.\r
\r
@param[in] Md4Context Pointer to MD4 context being copied.\r
@param[out] NewMd4Context Pointer to new MD4 context.\r
\r
@retval TRUE MD4 context copy succeeded.\r
@retval FALSE MD4 context copy failed.\r
\r
@param[in] Md4Context Pointer to MD4 context being copied.\r
@param[out] NewMd4Context Pointer to new MD4 context.\r
\r
@retval TRUE MD4 context copy succeeded.\r
@retval FALSE MD4 context copy failed.\r
by Md4Final(). Behavior with invalid context is undefined.\r
\r
If Md4Context is NULL, then return FALSE.\r
by Md4Final(). Behavior with invalid context is undefined.\r
\r
If Md4Context is NULL, then return FALSE.\r
\r
@param[in, out] Md4Context Pointer to the MD4 context.\r
@param[in] Data Pointer to the buffer containing the data to be hashed.\r
\r
@param[in, out] Md4Context Pointer to the MD4 context.\r
@param[in] Data Pointer to the buffer containing the data to be hashed.\r
\r
If Md4Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
If Md4Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
@param[in, out] Md4Context Pointer to the MD4 context.\r
@param[out] HashValue Pointer to a buffer that receives the MD4 digest\r
\r
@param[in, out] Md4Context Pointer to the MD4 context.\r
@param[out] HashValue Pointer to a buffer that receives the MD4 digest\r
\r
@param[out] Md5Context Pointer to MD5 context being initialized.\r
\r
@retval TRUE MD5 context initialization succeeded.\r
@retval FALSE MD5 context initialization failed.\r
\r
@param[out] Md5Context Pointer to MD5 context being initialized.\r
\r
@retval TRUE MD5 context initialization succeeded.\r
@retval FALSE MD5 context initialization failed.\r
\r
If Md5Context is NULL, then return FALSE.\r
If NewMd5Context is NULL, then return FALSE.\r
\r
If Md5Context is NULL, then return FALSE.\r
If NewMd5Context is NULL, then return FALSE.\r
\r
@param[in] Md5Context Pointer to MD5 context being copied.\r
@param[out] NewMd5Context Pointer to new MD5 context.\r
\r
@retval TRUE MD5 context copy succeeded.\r
@retval FALSE MD5 context copy failed.\r
\r
@param[in] Md5Context Pointer to MD5 context being copied.\r
@param[out] NewMd5Context Pointer to new MD5 context.\r
\r
@retval TRUE MD5 context copy succeeded.\r
@retval FALSE MD5 context copy failed.\r
by Md5Final(). Behavior with invalid context is undefined.\r
\r
If Md5Context is NULL, then return FALSE.\r
by Md5Final(). Behavior with invalid context is undefined.\r
\r
If Md5Context is NULL, then return FALSE.\r
\r
@param[in, out] Md5Context Pointer to the MD5 context.\r
@param[in] Data Pointer to the buffer containing the data to be hashed.\r
\r
@param[in, out] Md5Context Pointer to the MD5 context.\r
@param[in] Data Pointer to the buffer containing the data to be hashed.\r
\r
If Md5Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
If Md5Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
@param[in, out] Md5Context Pointer to the MD5 context.\r
@param[out] HashValue Pointer to a buffer that receives the MD5 digest\r
\r
@param[in, out] Md5Context Pointer to the MD5 context.\r
@param[out] HashValue Pointer to a buffer that receives the MD5 digest\r
\r
@param[out] Sha1Context Pointer to SHA-1 context being initialized.\r
\r
@retval TRUE SHA-1 context initialization succeeded.\r
@retval FALSE SHA-1 context initialization failed.\r
\r
@param[out] Sha1Context Pointer to SHA-1 context being initialized.\r
\r
@retval TRUE SHA-1 context initialization succeeded.\r
@retval FALSE SHA-1 context initialization failed.\r
\r
If Sha1Context is NULL, then return FALSE.\r
If NewSha1Context is NULL, then return FALSE.\r
\r
If Sha1Context is NULL, then return FALSE.\r
If NewSha1Context is NULL, then return FALSE.\r
\r
@param[in] Sha1Context Pointer to SHA-1 context being copied.\r
@param[out] NewSha1Context Pointer to new SHA-1 context.\r
\r
@retval TRUE SHA-1 context copy succeeded.\r
@retval FALSE SHA-1 context copy failed.\r
\r
@param[in] Sha1Context Pointer to SHA-1 context being copied.\r
@param[out] NewSha1Context Pointer to new SHA-1 context.\r
\r
@retval TRUE SHA-1 context copy succeeded.\r
@retval FALSE SHA-1 context copy failed.\r
by Sha1Final(). Behavior with invalid context is undefined.\r
\r
If Sha1Context is NULL, then return FALSE.\r
by Sha1Final(). Behavior with invalid context is undefined.\r
\r
If Sha1Context is NULL, then return FALSE.\r
\r
@param[in, out] Sha1Context Pointer to the SHA-1 context.\r
@param[in] Data Pointer to the buffer containing the data to be hashed.\r
\r
@param[in, out] Sha1Context Pointer to the SHA-1 context.\r
@param[in] Data Pointer to the buffer containing the data to be hashed.\r
\r
If Sha1Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
If Sha1Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
@param[in, out] Sha1Context Pointer to the SHA-1 context.\r
@param[out] HashValue Pointer to a buffer that receives the SHA-1 digest\r
\r
@param[in, out] Sha1Context Pointer to the SHA-1 context.\r
@param[out] HashValue Pointer to a buffer that receives the SHA-1 digest\r
\r
If Sha256Context is NULL, then return FALSE.\r
If NewSha256Context is NULL, then return FALSE.\r
\r
If Sha256Context is NULL, then return FALSE.\r
If NewSha256Context is NULL, then return FALSE.\r
\r
@param[in] Sha256Context Pointer to SHA-256 context being copied.\r
@param[out] NewSha256Context Pointer to new SHA-256 context.\r
\r
@retval TRUE SHA-256 context copy succeeded.\r
@retval FALSE SHA-256 context copy failed.\r
\r
@param[in] Sha256Context Pointer to SHA-256 context being copied.\r
@param[out] NewSha256Context Pointer to new SHA-256 context.\r
\r
@retval TRUE SHA-256 context copy succeeded.\r
@retval FALSE SHA-256 context copy failed.\r
\r
@param[out] HmacMd5Context Pointer to HMAC-MD5 context being initialized.\r
@param[in] Key Pointer to the user-supplied key.\r
\r
@param[out] HmacMd5Context Pointer to HMAC-MD5 context being initialized.\r
@param[in] Key Pointer to the user-supplied key.\r
\r
@retval TRUE HMAC-MD5 context initialization succeeded.\r
@retval FALSE HMAC-MD5 context initialization failed.\r
\r
@retval TRUE HMAC-MD5 context initialization succeeded.\r
@retval FALSE HMAC-MD5 context initialization failed.\r
\r
If HmacMd5Context is NULL, then return FALSE.\r
If NewHmacMd5Context is NULL, then return FALSE.\r
\r
If HmacMd5Context is NULL, then return FALSE.\r
If NewHmacMd5Context is NULL, then return FALSE.\r
\r
@param[in] HmacMd5Context Pointer to HMAC-MD5 context being copied.\r
@param[out] NewHmacMd5Context Pointer to new HMAC-MD5 context.\r
\r
@retval TRUE HMAC-MD5 context copy succeeded.\r
@retval FALSE HMAC-MD5 context copy failed.\r
\r
@param[in] HmacMd5Context Pointer to HMAC-MD5 context being copied.\r
@param[out] NewHmacMd5Context Pointer to new HMAC-MD5 context.\r
\r
@retval TRUE HMAC-MD5 context copy succeeded.\r
@retval FALSE HMAC-MD5 context copy failed.\r
finalized by HmacMd5Final(). Behavior with invalid context is undefined.\r
\r
If HmacMd5Context is NULL, then return FALSE.\r
finalized by HmacMd5Final(). Behavior with invalid context is undefined.\r
\r
If HmacMd5Context is NULL, then return FALSE.\r
\r
@param[in, out] HmacMd5Context Pointer to the HMAC-MD5 context.\r
@param[in] Data Pointer to the buffer containing the data to be digested.\r
\r
@param[in, out] HmacMd5Context Pointer to the HMAC-MD5 context.\r
@param[in] Data Pointer to the buffer containing the data to be digested.\r
\r
If HmacMd5Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
If HmacMd5Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
@param[in, out] HmacMd5Context Pointer to the HMAC-MD5 context.\r
@param[out] HashValue Pointer to a buffer that receives the HMAC-MD5 digest\r
\r
@param[in, out] HmacMd5Context Pointer to the HMAC-MD5 context.\r
@param[out] HashValue Pointer to a buffer that receives the HMAC-MD5 digest\r
\r
@retval TRUE HMAC-MD5 digest computation succeeded.\r
@retval FALSE HMAC-MD5 digest computation failed.\r
\r
@retval TRUE HMAC-MD5 digest computation succeeded.\r
@retval FALSE HMAC-MD5 digest computation failed.\r
\r
@param[out] HmacSha1Context Pointer to HMAC-SHA1 context being initialized.\r
@param[in] Key Pointer to the user-supplied key.\r
\r
@param[out] HmacSha1Context Pointer to HMAC-SHA1 context being initialized.\r
@param[in] Key Pointer to the user-supplied key.\r
\r
@retval TRUE HMAC-SHA1 context initialization succeeded.\r
@retval FALSE HMAC-SHA1 context initialization failed.\r
\r
@retval TRUE HMAC-SHA1 context initialization succeeded.\r
@retval FALSE HMAC-SHA1 context initialization failed.\r
\r
If HmacSha1Context is NULL, then return FALSE.\r
If NewHmacSha1Context is NULL, then return FALSE.\r
\r
If HmacSha1Context is NULL, then return FALSE.\r
If NewHmacSha1Context is NULL, then return FALSE.\r
\r
@param[in] HmacSha1Context Pointer to HMAC-SHA1 context being copied.\r
@param[out] NewHmacSha1Context Pointer to new HMAC-SHA1 context.\r
\r
@retval TRUE HMAC-SHA1 context copy succeeded.\r
@retval FALSE HMAC-SHA1 context copy failed.\r
\r
@param[in] HmacSha1Context Pointer to HMAC-SHA1 context being copied.\r
@param[out] NewHmacSha1Context Pointer to new HMAC-SHA1 context.\r
\r
@retval TRUE HMAC-SHA1 context copy succeeded.\r
@retval FALSE HMAC-SHA1 context copy failed.\r
be finalized by HmacSha1Final(). Behavior with invalid context is undefined.\r
\r
If HmacSha1Context is NULL, then return FALSE.\r
be finalized by HmacSha1Final(). Behavior with invalid context is undefined.\r
\r
If HmacSha1Context is NULL, then return FALSE.\r
\r
@param[in, out] HmacSha1Context Pointer to the HMAC-SHA1 context.\r
@param[in] Data Pointer to the buffer containing the data to be digested.\r
\r
@param[in, out] HmacSha1Context Pointer to the HMAC-SHA1 context.\r
@param[in] Data Pointer to the buffer containing the data to be digested.\r
\r
If HmacSha1Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
If HmacSha1Context is NULL, then return FALSE.\r
If HashValue is NULL, then return FALSE.\r
\r
@param[in, out] HmacSha1Context Pointer to the HMAC-SHA1 context.\r
@param[out] HashValue Pointer to a buffer that receives the HMAC-SHA1 digest\r
\r
@param[in, out] HmacSha1Context Pointer to the HMAC-SHA1 context.\r
@param[out] HashValue Pointer to a buffer that receives the HMAC-SHA1 digest\r
\r
@retval TRUE HMAC-SHA1 digest computation succeeded.\r
@retval FALSE HMAC-SHA1 digest computation failed.\r
\r
@retval TRUE HMAC-SHA1 digest computation succeeded.\r
@retval FALSE HMAC-SHA1 digest computation failed.\r
If TdesContext is NULL, then return FALSE.\r
If Key is NULL, then return FALSE.\r
If KeyLength is not valid, then return FALSE.\r
If TdesContext is NULL, then return FALSE.\r
If Key is NULL, then return FALSE.\r
If KeyLength is not valid, then return FALSE.\r
\r
@param[out] TdesContext Pointer to TDES context being initialized.\r
@param[in] Key Pointer to the user-supplied TDES key.\r
\r
@param[out] TdesContext Pointer to TDES context being initialized.\r
@param[in] Key Pointer to the user-supplied TDES key.\r
\r
@retval TRUE TDES context initialization succeeded.\r
@retval FALSE TDES context initialization failed.\r
\r
@retval TRUE TDES context initialization succeeded.\r
@retval FALSE TDES context initialization failed.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be decrypted.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be decrypted.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
If InputSize is not multiple of block size (8 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] TdesContext Pointer to the TDES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If AesContext is NULL, then return FALSE.\r
If Key is NULL, then return FALSE.\r
If KeyLength is not valid, then return FALSE.\r
If AesContext is NULL, then return FALSE.\r
If Key is NULL, then return FALSE.\r
If KeyLength is not valid, then return FALSE.\r
\r
@param[out] AesContext Pointer to AES context being initialized.\r
@param[in] Key Pointer to the user-supplied AES key.\r
\r
@param[out] AesContext Pointer to AES context being initialized.\r
@param[in] Key Pointer to the user-supplied AES key.\r
\r
@retval TRUE AES context initialization succeeded.\r
@retval FALSE AES context initialization failed.\r
\r
@retval TRUE AES context initialization succeeded.\r
@retval FALSE AES context initialization failed.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be decrypted.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be decrypted.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
If InputSize is not multiple of block size (16 bytes), then return FALSE.\r
If Ivec is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] AesContext Pointer to the AES context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If Arc4Context is NULL, then return FALSE.\r
If Key is NULL, then return FALSE.\r
If KeySize does not in the range of [5, 256] bytes, then return FALSE.\r
If Arc4Context is NULL, then return FALSE.\r
If Key is NULL, then return FALSE.\r
If KeySize does not in the range of [5, 256] bytes, then return FALSE.\r
\r
@param[out] Arc4Context Pointer to ARC4 context being initialized.\r
@param[in] Key Pointer to the user-supplied ARC4 key.\r
\r
@param[out] Arc4Context Pointer to ARC4 context being initialized.\r
@param[in] Key Pointer to the user-supplied ARC4 key.\r
\r
@retval TRUE ARC4 context initialization succeeded.\r
@retval FALSE ARC4 context initialization failed.\r
\r
@retval TRUE ARC4 context initialization succeeded.\r
@retval FALSE ARC4 context initialization failed.\r
If Arc4Context is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
If Arc4Context is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] Arc4Context Pointer to the ARC4 context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
\r
@param[in] Arc4Context Pointer to the ARC4 context.\r
@param[in] Input Pointer to the buffer containing the data to be encrypted.\r
If Arc4Context is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
If Arc4Context is NULL, then return FALSE.\r
If Input is NULL, then return FALSE.\r
If Output is NULL, then return FALSE.\r
\r
@param[in] Arc4Context Pointer to the ARC4 context.\r
@param[in] Input Pointer to the buffer containing the data to be decrypted.\r
\r
@param[in] Arc4Context Pointer to the ARC4 context.\r
@param[in] Input Pointer to the buffer containing the data to be decrypted.\r
should be already correctly initialized by ARC4Init().\r
\r
If Arc4Context is NULL, then return FALSE.\r
should be already correctly initialized by ARC4Init().\r
\r
If Arc4Context is NULL, then return FALSE.\r
\r
@param[in, out] Arc4Context Pointer to the ARC4 context.\r
\r
@retval TRUE ARC4 reset succeeded.\r
@retval FALSE ARC4 reset failed.\r
\r
@param[in, out] Arc4Context Pointer to the ARC4 context.\r
\r
@retval TRUE ARC4 reset succeeded.\r
@retval FALSE ARC4 reset failed.\r
If RsaContext is NULL, then return FALSE.\r
If BnSize is NULL, then return FALSE.\r
If BnSize is large enough but BigNumber is NULL, then return FALSE.\r
If RsaContext is NULL, then return FALSE.\r
If BnSize is NULL, then return FALSE.\r
If BnSize is large enough but BigNumber is NULL, then return FALSE.\r
\r
@param[in, out] RsaContext Pointer to RSA context being set.\r
@param[in] KeyTag Tag of RSA key component being set.\r
\r
@param[in, out] RsaContext Pointer to RSA context being set.\r
@param[in] KeyTag Tag of RSA key component being set.\r
@retval TRUE RSA key component was retrieved successfully.\r
@retval FALSE Invalid RSA key component tag.\r
@retval FALSE BnSize is too small.\r
@retval TRUE RSA key component was retrieved successfully.\r
@retval FALSE Invalid RSA key component tag.\r
@retval FALSE BnSize is too small.\r
initialized by RandomSeed().\r
\r
If RsaContext is NULL, then return FALSE.\r
initialized by RandomSeed().\r
\r
If RsaContext is NULL, then return FALSE.\r
\r
@param[in, out] RsaContext Pointer to RSA context being set.\r
@param[in] ModulusLength Length of RSA modulus N in bits.\r
\r
@param[in, out] RsaContext Pointer to RSA context being set.\r
@param[in] ModulusLength Length of RSA modulus N in bits.\r
\r
@retval TRUE RSA key component was generated successfully.\r
@retval FALSE Invalid RSA key component tag.\r
\r
@retval TRUE RSA key component was generated successfully.\r
@retval FALSE Invalid RSA key component tag.\r
- Whether d*e = 1 mod lcm(p-1,q-1)\r
\r
If RsaContext is NULL, then return FALSE.\r
- Whether d*e = 1 mod lcm(p-1,q-1)\r
\r
If RsaContext is NULL, then return FALSE.\r
\r
@param[in] RsaContext Pointer to RSA context to check.\r
\r
@retval TRUE RSA key components are valid.\r
@retval FALSE RSA key components are not valid.\r
\r
@param[in] RsaContext Pointer to RSA context to check.\r
\r
@retval TRUE RSA key components are valid.\r
@retval FALSE RSA key components are not valid.\r
If MessageHash is NULL, then return FALSE.\r
If HashSize is not equal to the size of MD5, SHA-1 or SHA-256 digest, then return FALSE.\r
If SigSize is large enough but Signature is NULL, then return FALSE.\r
If MessageHash is NULL, then return FALSE.\r
If HashSize is not equal to the size of MD5, SHA-1 or SHA-256 digest, then return FALSE.\r
If SigSize is large enough but Signature is NULL, then return FALSE.\r
\r
@param[in] RsaContext Pointer to RSA context for signature generation.\r
@param[in] MessageHash Pointer to octet message hash to be signed.\r
\r
@param[in] RsaContext Pointer to RSA context for signature generation.\r
@param[in] MessageHash Pointer to octet message hash to be signed.\r
@retval TRUE Signature successfully generated in PKCS1-v1_5.\r
@retval FALSE Signature generation failed.\r
@retval FALSE SigSize is too small.\r
@retval TRUE Signature successfully generated in PKCS1-v1_5.\r
@retval FALSE Signature generation failed.\r
@retval FALSE SigSize is too small.\r
+ If PemData is NULL, then return FALSE.\r
+ If RsaContext is NULL, then return FALSE.\r
+ If this interface is not supported, then return FALSE.\r
+\r
@param[in] PemData Pointer to the PEM-encoded key data to be retrieved.\r
@param[in] PemSize Size of the PEM key data in bytes.\r
@param[in] Password NULL-terminated passphrase used for encrypted PEM key data.\r
@param[in] PemData Pointer to the PEM-encoded key data to be retrieved.\r
@param[in] PemSize Size of the PEM key data in bytes.\r
@param[in] Password NULL-terminated passphrase used for encrypted PEM key data.\r
@retval TRUE RSA Private Key was retrieved successfully.\r
@retval FALSE Invalid PEM key data or incorrect password.\r
@retval TRUE RSA Private Key was retrieved successfully.\r
@retval FALSE Invalid PEM key data or incorrect password.\r
+ If Cert is NULL, then return FALSE.\r
+ If RsaContext is NULL, then return FALSE.\r
+ If this interface is not supported, then return FALSE.\r
+\r
@param[in] Cert Pointer to the DER-encoded X509 certificate.\r
@param[in] CertSize Size of the X509 certificate in bytes.\r
@param[out] RsaContext Pointer to new-generated RSA context which contain the retrieved\r
RSA public key component. Use RsaFree() function to free the\r
resource.\r
\r
@param[in] Cert Pointer to the DER-encoded X509 certificate.\r
@param[in] CertSize Size of the X509 certificate in bytes.\r
@param[out] RsaContext Pointer to new-generated RSA context which contain the retrieved\r
RSA public key component. Use RsaFree() function to free the\r
resource.\r
\r
@retval TRUE RSA Public Key was retrieved successfully.\r
@retval FALSE Fail to retrieve RSA public key from X509 certificate.\r
@retval TRUE RSA Public Key was retrieved successfully.\r
@retval FALSE Fail to retrieve RSA public key from X509 certificate.\r
+ If Cert is NULL, then return FALSE.\r
+ If SubjectSize is NULL, then return FALSE.\r
+ If this interface is not supported, then return FALSE.\r
+\r
@param[in] Cert Pointer to the DER-encoded X509 certificate.\r
@param[in] CertSize Size of the X509 certificate in bytes.\r
@param[out] CertSubject Pointer to the retrieved certificate subject bytes.\r
@param[in, out] SubjectSize The size in bytes of the CertSubject buffer on input,\r
and the size of buffer returned CertSubject on output.\r
\r
@param[in] Cert Pointer to the DER-encoded X509 certificate.\r
@param[in] CertSize Size of the X509 certificate in bytes.\r
@param[out] CertSubject Pointer to the retrieved certificate subject bytes.\r
@param[in, out] SubjectSize The size in bytes of the CertSubject buffer on input,\r
and the size of buffer returned CertSubject on output.\r
\r
@retval TRUE The certificate subject retrieved successfully.\r
@retval FALSE Invalid certificate, or the SubjectSize is too small for the result.\r
The SubjectSize will be updated with the required size.\r
@retval TRUE The certificate subject retrieved successfully.\r
@retval FALSE Invalid certificate, or the SubjectSize is too small for the result.\r
The SubjectSize will be updated with the required size.\r
+ If Cert is NULL, then return FALSE.\r
+ If CACert is NULL, then return FALSE.\r
+ If this interface is not supported, then return FALSE.\r
+\r
@param[in] Cert Pointer to the DER-encoded X509 certificate to be verified.\r
@param[in] CertSize Size of the X509 certificate in bytes.\r
@param[in] CACert Pointer to the DER-encoded trusted CA certificate.\r
@param[in] CACertSize Size of the CA Certificate in bytes.\r
\r
@param[in] Cert Pointer to the DER-encoded X509 certificate to be verified.\r
@param[in] CertSize Size of the X509 certificate in bytes.\r
@param[in] CACert Pointer to the DER-encoded trusted CA certificate.\r
@param[in] CACertSize Size of the CA Certificate in bytes.\r
\r
@retval TRUE The certificate was issued by the trusted CA.\r
@retval FALSE Invalid certificate or the certificate was not issued by the given\r
trusted CA.\r
@retval TRUE The certificate was issued by the trusted CA.\r
@retval FALSE Invalid certificate or the certificate was not issued by the given\r
trusted CA.\r
\r
If Cert is NULL, then return FALSE.\r
If SingleX509Cert is NULL, then return FALSE.\r
\r
If Cert is NULL, then return FALSE.\r
If SingleX509Cert is NULL, then return FALSE.\r
\r
@param[in] Cert Pointer to the DER-encoded certificate data.\r
@param[in] CertSize The size of certificate data in bytes.\r
\r
@param[in] Cert Pointer to the DER-encoded certificate data.\r
@param[in] CertSize The size of certificate data in bytes.\r
Construct a X509 stack object from a list of DER-encoded certificate data.\r
\r
If X509Stack is NULL, then return FALSE.\r
Construct a X509 stack object from a list of DER-encoded certificate data.\r
\r
If X509Stack is NULL, then return FALSE.\r
\r
@param[in, out] X509Stack On input, pointer to an existing X509 stack object.\r
On output, pointer to the X509 stack object with new\r
\r
@param[in, out] X509Stack On input, pointer to an existing X509 stack object.\r
On output, pointer to the X509 stack object with new\r
\r
@retval TRUE The X509 stack construction succeeded.\r
@retval FALSE The construction operation failed.\r
\r
@retval TRUE The X509 stack construction succeeded.\r
@retval FALSE The construction operation failed.\r
\r
If P7Data, CertStack, StackLength, TrustedCert or CertLength is NULL, then\r
return FALSE. If P7Length overflow, then return FAlSE.\r
\r
If P7Data, CertStack, StackLength, TrustedCert or CertLength is NULL, then\r
return FALSE. If P7Length overflow, then return FAlSE.\r
\r
@param[in] P7Data Pointer to the PKCS#7 message to verify.\r
@param[in] P7Length Length of the PKCS#7 message in bytes.\r
\r
@param[in] P7Data Pointer to the PKCS#7 message to verify.\r
@param[in] P7Length Length of the PKCS#7 message in bytes.\r
\r
@retval TRUE The operation is finished successfully.\r
@retval FALSE Error occurs during the operation.\r
\r
@retval TRUE The operation is finished successfully.\r
@retval FALSE Error occurs during the operation.\r
Syntax Standard, version 1.5". This interface is only intended to be used for\r
application to perform PKCS#7 functionality validation.\r
\r
Syntax Standard, version 1.5". This interface is only intended to be used for\r
application to perform PKCS#7 functionality validation.\r
\r
@param[in] PrivateKey Pointer to the PEM-formatted private key data for\r
data signing.\r
@param[in] PrivateKeySize Size of the PEM private key data in bytes.\r
@param[in] PrivateKey Pointer to the PEM-formatted private key data for\r
data signing.\r
@param[in] PrivateKeySize Size of the PEM private key data in bytes.\r
\r
If P7Data, TrustedCert or InData is NULL, then return FALSE.\r
If P7Length, CertLength or DataLength overflow, then return FAlSE.\r
\r
If P7Data, TrustedCert or InData is NULL, then return FALSE.\r
If P7Length, CertLength or DataLength overflow, then return FAlSE.\r
\r
@param[in] P7Data Pointer to the PKCS#7 message to verify.\r
@param[in] P7Length Length of the PKCS#7 message in bytes.\r
\r
@param[in] P7Data Pointer to the PKCS#7 message to verify.\r
@param[in] P7Length Length of the PKCS#7 message in bytes.\r
\r
@retval TRUE The specified PKCS#7 signed data is valid.\r
@retval FALSE Invalid PKCS#7 signed data.\r
\r
@retval TRUE The specified PKCS#7 signed data is valid.\r
@retval FALSE Invalid PKCS#7 signed data.\r
\r
If AuthData is NULL, then return FALSE.\r
If ImageHash is NULL, then return FALSE.\r
\r
If AuthData is NULL, then return FALSE.\r
If ImageHash is NULL, then return FALSE.\r
\r
@param[in] AuthData Pointer to the Authenticode Signature retrieved from signed\r
PE/COFF image to be verified.\r
\r
@param[in] AuthData Pointer to the Authenticode Signature retrieved from signed\r
PE/COFF image to be verified.\r
\r
@retval TRUE The specified Authenticode Signature is valid.\r
@retval FALSE Invalid Authenticode Signature.\r
\r
@retval TRUE The specified Authenticode Signature is valid.\r
@retval FALSE Invalid Authenticode Signature.\r
\r
@return Pointer to the Diffie-Hellman Context that has been initialized.\r
If the allocations fails, DhNew() returns NULL.\r
\r
@return Pointer to the Diffie-Hellman Context that has been initialized.\r
If the allocations fails, DhNew() returns NULL.\r
\r
If DhContext is NULL, then return FALSE.\r
If Prime is NULL, then return FALSE.\r
\r
If DhContext is NULL, then return FALSE.\r
If Prime is NULL, then return FALSE.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[in] Generator Value of generator.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[in] Generator Value of generator.\r
@retval TRUE DH pamameter generation succeeded.\r
@retval FALSE Value of Generator is not supported.\r
@retval FALSE PRNG fails to generate random prime number with PrimeLength.\r
@retval TRUE DH pamameter generation succeeded.\r
@retval FALSE Value of Generator is not supported.\r
@retval FALSE PRNG fails to generate random prime number with PrimeLength.\r
\r
If DhContext is NULL, then return FALSE.\r
If Prime is NULL, then return FALSE.\r
\r
If DhContext is NULL, then return FALSE.\r
If Prime is NULL, then return FALSE.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[in] Generator Value of generator.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[in] Generator Value of generator.\r
@retval FALSE Value of Generator is not suitable for the Prime.\r
@retval FALSE Value of Prime is not a prime number.\r
@retval FALSE Value of Prime is not a safe prime number.\r
@retval FALSE Value of Generator is not suitable for the Prime.\r
@retval FALSE Value of Prime is not a prime number.\r
@retval FALSE Value of Prime is not a safe prime number.\r
If DhContext is NULL, then return FALSE.\r
If PublicKeySize is NULL, then return FALSE.\r
If PublicKeySize is large enough but PublicKey is NULL, then return FALSE.\r
If DhContext is NULL, then return FALSE.\r
If PublicKeySize is NULL, then return FALSE.\r
If PublicKeySize is large enough but PublicKey is NULL, then return FALSE.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[out] PublicKey Pointer to the buffer to receive generated public key.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[out] PublicKey Pointer to the buffer to receive generated public key.\r
@retval TRUE DH public key generation succeeded.\r
@retval FALSE DH public key generation failed.\r
@retval FALSE PublicKeySize is not large enough.\r
@retval TRUE DH public key generation succeeded.\r
@retval FALSE DH public key generation failed.\r
@retval FALSE PublicKeySize is not large enough.\r
If PeerPublicKey is NULL, then return FALSE.\r
If KeySize is NULL, then return FALSE.\r
If KeySize is large enough but Key is NULL, then return FALSE.\r
If PeerPublicKey is NULL, then return FALSE.\r
If KeySize is NULL, then return FALSE.\r
If KeySize is large enough but Key is NULL, then return FALSE.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[in] PeerPublicKey Pointer to the peer's public key.\r
\r
@param[in, out] DhContext Pointer to the DH context.\r
@param[in] PeerPublicKey Pointer to the peer's public key.\r
@retval TRUE DH exchanged key generation succeeded.\r
@retval FALSE DH exchanged key generation failed.\r
@retval FALSE KeySize is not large enough.\r
@retval TRUE DH exchanged key generation succeeded.\r
@retval FALSE DH exchanged key generation failed.\r
@retval FALSE KeySize is not large enough.\r
This function sets up the seed value for the pseudorandom number generator.\r
If Seed is not NULL, then the seed passed in is used.\r
If Seed is NULL, then default seed is used.\r
This function sets up the seed value for the pseudorandom number generator.\r
If Seed is not NULL, then the seed passed in is used.\r
If Seed is NULL, then default seed is used.\r
\r
@param[in] Seed Pointer to seed value.\r
If NULL, default seed is used.\r
\r
@param[in] Seed Pointer to seed value.\r
If NULL, default seed is used.\r
\r
@retval TRUE Pseudorandom number generator has enough entropy for random generation.\r
@retval FALSE Pseudorandom number generator does not have enough entropy for random generation.\r
\r
@retval TRUE Pseudorandom number generator has enough entropy for random generation.\r
@retval FALSE Pseudorandom number generator does not have enough entropy for random generation.\r
Generates a pseudorandom byte stream of the specified size.\r
\r
If Output is NULL, then return FALSE.\r
Generates a pseudorandom byte stream of the specified size.\r
\r
If Output is NULL, then return FALSE.\r
\r
@param[out] Output Pointer to buffer to receive random value.\r
@param[in] Size Size of randome bytes to generate.\r
\r
@retval TRUE Pseudorandom byte stream generated successfully.\r
@retval FALSE Pseudorandom number generator fails to generate due to lack of entropy.\r
\r
@param[out] Output Pointer to buffer to receive random value.\r
@param[in] Size Size of randome bytes to generate.\r
\r
@retval TRUE Pseudorandom byte stream generated successfully.\r
@retval FALSE Pseudorandom number generator fails to generate due to lack of entropy.\r