| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| /* |
| * Provide FIPS validated hashing for applications that only need hashing. |
| * NOTE: mac'ing requires keys and will not work in this interface. |
| * Also NOTE: this only works with Hashing. Only the FIPS interface is enabled. |
| */ |
| |
| #ifndef _NSSLOWHASH_H_ |
| #define _NSSLOWHASH_H_ |
| |
| typedef struct NSSLOWInitContextStr NSSLOWInitContext; |
| typedef struct NSSLOWHASHContextStr NSSLOWHASHContext; |
| |
| NSSLOWInitContext *NSSLOW_Init(void); |
| void NSSLOW_Shutdown(NSSLOWInitContext *context); |
| void NSSLOW_Reset(NSSLOWInitContext *context); |
| NSSLOWHASHContext *NSSLOWHASH_NewContext( |
| NSSLOWInitContext *initContext, |
| HASH_HashType hashType); |
| void NSSLOWHASH_Begin(NSSLOWHASHContext *context); |
| void NSSLOWHASH_Update(NSSLOWHASHContext *context, |
| const unsigned char *buf, |
| unsigned int len); |
| void NSSLOWHASH_End(NSSLOWHASHContext *context, |
| unsigned char *buf, |
| unsigned int *ret, unsigned int len); |
| void NSSLOWHASH_Destroy(NSSLOWHASHContext *context); |
| unsigned int NSSLOWHASH_Length(NSSLOWHASHContext *context); |
| |
| #endif |