summaryrefslogtreecommitdiff
path: root/sal/inc/rtl/digest.h
diff options
context:
space:
mode:
Diffstat (limited to 'sal/inc/rtl/digest.h')
-rw-r--r--sal/inc/rtl/digest.h643
1 files changed, 0 insertions, 643 deletions
diff --git a/sal/inc/rtl/digest.h b/sal/inc/rtl/digest.h
deleted file mode 100644
index cc49838821f7..000000000000
--- a/sal/inc/rtl/digest.h
+++ /dev/null
@@ -1,643 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _RTL_DIGEST_H_
-#define _RTL_DIGEST_H_
-
-#include "sal/config.h"
-
-#include "sal/saldllapi.h"
-#include "sal/types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*========================================================================
- *
- * rtlDigest.
- *
- *======================================================================*/
-/** Digest Handle opaque type.
- */
-typedef void* rtlDigest;
-
-
-/** Digest Algorithm enumeration.
- @see rtl_digest_create()
- */
-enum __rtl_DigestAlgorithm
-{
- rtl_Digest_AlgorithmMD2,
- rtl_Digest_AlgorithmMD5,
- rtl_Digest_AlgorithmSHA,
- rtl_Digest_AlgorithmSHA1,
-
- rtl_Digest_AlgorithmHMAC_MD5,
- rtl_Digest_AlgorithmHMAC_SHA1,
-
- rtl_Digest_AlgorithmInvalid,
- rtl_Digest_Algorithm_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
-};
-
-/** Digest Algorithm type.
- */
-typedef enum __rtl_DigestAlgorithm rtlDigestAlgorithm;
-
-
-/** Error Code enumeration.
- */
-enum __rtl_DigestError
-{
- rtl_Digest_E_None,
- rtl_Digest_E_Argument,
- rtl_Digest_E_Algorithm,
- rtl_Digest_E_BufferSize,
- rtl_Digest_E_Memory,
- rtl_Digest_E_Unknown,
- rtl_Digest_E_FORCE_EQUAL_SIZE = SAL_MAX_ENUM
-};
-
-/** Error Code type.
- */
-typedef enum __rtl_DigestError rtlDigestError;
-
-
-/** Create a digest handle for the given algorithm.
- @see rtlDigestAlgorithm
-
- @param Algorithm [in] digest algorithm.
- @return Digest handle, or 0 upon failure.
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_create (
- rtlDigestAlgorithm Algorithm
-) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a digest handle.
- @post Digest handle destroyed and invalid.
- @param Digest [in] digest handle to be destroyed.
- @return None.
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroy (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Query the algorithm of a given digest.
- @param Digest [in] digest handle.
- @return digest algorithm, or rtl_Digest_AlgorithmInvalid upon failure.
- */
-SAL_DLLPUBLIC rtlDigestAlgorithm SAL_CALL rtl_digest_queryAlgorithm (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Query the length of a given digest.
- @param Digest [in] digest handle.
- @return digest length, or 0 upon failure.
- */
-SAL_DLLPUBLIC sal_uInt32 SAL_CALL rtl_digest_queryLength (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Initialize a digest with given data.
- @param Digest [in] digest handle.
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_init (
- rtlDigest Digest,
- const sal_uInt8 *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a digest with given data.
- @param Digest [in] digest handle.
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_update (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a digest and retrieve the digest value.
- @pre Digest value length must not be less than digest length.
- @post Digest initialized to accept another update sequence.
- @see rtl_digest_queryLength()
- @see rtl_digest_update()
-
- @param Digest [in] digest handle.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_get (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_MD2 interface.
- *
- *======================================================================*/
-#define RTL_DIGEST_LENGTH_MD2 16
-
-/** Create a MD2 digest handle.
-
- The MD2 digest algorithm is specified in
- RFC 1319 (Informational)
- The MD2 Message-Digest Algorithm
-
- @see rtl_digest_create()
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createMD2 (void) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a MD2 digest handle.
- @see rtl_digest_destroy()
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroyMD2 (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a MD2 digest with given data.
- @see rtl_digest_update()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateMD2 (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a MD2 digest and retrieve the digest value.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getMD2 (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Evaluate a MD2 digest value from given data.
-
- This function performs an optimized call sequence on a
- single data buffer, avoiding digest creation and destruction.
-
- @see rtl_digest_updateMD2()
- @see rtl_digest_getMD2()
-
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_MD2 (
- const void *pData, sal_uInt32 nDatLen,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_MD5 interface.
- *
- *======================================================================*/
-#define RTL_DIGEST_LENGTH_MD5 16
-
-/** Create a MD5 digest handle.
-
- The MD5 digest algorithm is specified in
- RFC 1321 (Informational)
- The MD5 Message-Digest Algorithm
-
- @see rtl_digest_create()
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createMD5 (void) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a MD5 digest handle.
- @see rtl_digest_destroy()
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroyMD5 (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a MD5 digest with given data.
- @see rtl_digest_update()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateMD5 (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a MD5 digest and retrieve the digest value.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getMD5 (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Retrieve the raw (not finalized) MD5 digest value.
-
- This function is a non-standard replacement for
- rtl_digest_getMD5() and must be used with caution.
-
- @post Digest initialized to accept another update sequence.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_rawMD5 (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Evaluate a MD5 digest value from given data.
-
- This function performs an optimized call sequence on a
- single data buffer, avoiding digest creation and destruction.
-
- @see rtl_digest_updateMD5()
- @see rtl_digest_getMD5()
-
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_MD5 (
- const void *pData, sal_uInt32 nDatLen,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_SHA interface.
- *
- *======================================================================*/
-#define RTL_DIGEST_LENGTH_SHA 20
-
-/** Create a SHA digest handle.
-
- The SHA digest algorithm is specified in
- FIPS PUB 180 (Superseded by FIPS PUB 180-1)
- Secure Hash Standard
-
- @see rtl_digest_create()
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createSHA (void) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a SHA digest handle.
- @see rtl_digest_destroy()
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroySHA (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a SHA digest with given data.
- @see rtl_digest_update()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateSHA (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a SHA digest and retrieve the digest value.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getSHA (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Evaluate a SHA digest value from given data.
-
- This function performs an optimized call sequence on a
- single data buffer, avoiding digest creation and destruction.
-
- @see rtl_digest_updateSHA()
- @see rtl_digest_getSHA()
-
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_SHA (
- const void *pData, sal_uInt32 nDatLen,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_SHA1 interface.
- *
- *======================================================================*/
-#define RTL_DIGEST_LENGTH_SHA1 20
-
-/** Create a SHA1 digest handle.
-
- The SHA1 digest algorithm is specified in
- FIPS PUB 180-1 (Supersedes FIPS PUB 180)
- Secure Hash Standard
-
- @see rtl_digest_create()
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createSHA1 (void) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a SHA1 digest handle.
- @see rtl_digest_destroy()
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroySHA1 (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a SHA1 digest with given data.
- @see rtl_digest_update()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateSHA1 (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a SHA1 digest and retrieve the digest value.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getSHA1 (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Evaluate a SHA1 digest value from given data.
-
- This function performs an optimized call sequence on a
- single data buffer, avoiding digest creation and destruction.
-
- @see rtl_digest_updateSHA1()
- @see rtl_digest_getSHA1()
-
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_SHA1 (
- const void *pData, sal_uInt32 nDatLen,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_HMAC_MD5 interface.
- *
- *======================================================================*/
-#define RTL_DIGEST_LENGTH_HMAC_MD5 RTL_DIGEST_LENGTH_MD5
-
-/** Create a HMAC_MD5 digest handle.
-
- The HMAC_MD5 digest algorithm is specified in
-
- RFC 2104 (Informational)
- HMAC: Keyed-Hashing for Message Authentication
-
- @see rtl_digest_create()
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createHMAC_MD5 (void) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a HMAC_MD5 digest handle.
- @see rtl_digest_destroy()
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroyHMAC_MD5 (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Initialize a HMAC_MD5 digest.
- @see rtl_digest_init()
-
- @param Digest [in] digest handle.
- @param pKeyData [in] key material buffer.
- @param nKeyLen [in] key material length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_initHMAC_MD5 (
- rtlDigest Digest,
- const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a HMAC_MD5 digest with given data.
- @see rtl_digest_update()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateHMAC_MD5 (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a HMAC_MD5 digest and retrieve the digest value.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getHMAC_MD5 (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Evaluate a HMAC_MD5 digest value from given data.
-
- This function performs an optimized call sequence on a
- single data buffer, avoiding digest creation and destruction.
-
- @see rtl_digest_initHMAC_MD5()
- @see rtl_digest_updateHMAC_MD5()
- @see rtl_digest_getHMAC_MD5()
-
- @param pKeyData [in] key material buffer.
- @param nKeyLen [in] key material length.
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_HMAC_MD5 (
- const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen,
- const void *pData, sal_uInt32 nDatLen,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_HMAC_SHA1 interface.
- *
- *======================================================================*/
-#define RTL_DIGEST_LENGTH_HMAC_SHA1 RTL_DIGEST_LENGTH_SHA1
-
-/** Create a HMAC_SHA1 digest handle.
-
- The HMAC_SHA1 digest algorithm is specified in
- RFC 2104 (Informational)
- HMAC: Keyed-Hashing for Message Authentication
- RFC 2898 (Informational)
- PKCS #5: Password-Based Cryptography Specification Version 2.0
-
- @see rtl_digest_create()
- */
-SAL_DLLPUBLIC rtlDigest SAL_CALL rtl_digest_createHMAC_SHA1 (void) SAL_THROW_EXTERN_C();
-
-
-/** Destroy a HMAC_SHA1 digest handle.
- @see rtl_digest_destroy()
- */
-SAL_DLLPUBLIC void SAL_CALL rtl_digest_destroyHMAC_SHA1 (
- rtlDigest Digest
-) SAL_THROW_EXTERN_C();
-
-
-/** Initialize a HMAC_SHA1 digest.
- @see rtl_digest_init()
-
- @param Digest [in] digest handle.
- @param pKeyData [in] key material buffer.
- @param nKeyLen [in] key material length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_initHMAC_SHA1 (
- rtlDigest Digest,
- const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Update a HMAC_SHA1 digest with given data.
- @see rtl_digest_update()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_updateHMAC_SHA1 (
- rtlDigest Digest,
- const void *pData, sal_uInt32 nDatLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Finalize a HMAC_SHA1 digest and retrieve the digest value.
- @see rtl_digest_get()
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_getHMAC_SHA1 (
- rtlDigest Digest,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-
-/** Evaluate a HMAC_SHA1 digest value from given data.
-
- This function performs an optimized call sequence on a
- single data buffer, avoiding digest creation and destruction.
-
- @see rtl_digest_initHMAC_SHA1()
- @see rtl_digest_updateHMAC_SHA1()
- @see rtl_digest_getHMAC_SHA1()
-
- @param pKeyData [in] key material buffer.
- @param nKeyLen [in] key material length.
- @param pData [in] data buffer.
- @param nDatLen [in] data length.
- @param pBuffer [in] digest value buffer.
- @param nBufLen [in] digest value length.
-
- @return rtl_Digest_E_None upon success.
- */
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_HMAC_SHA1 (
- const sal_uInt8 *pKeyData, sal_uInt32 nKeyLen,
- const void *pData, sal_uInt32 nDatLen,
- sal_uInt8 *pBuffer, sal_uInt32 nBufLen
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * rtl_digest_PBKDF2 interface.
- *
- *======================================================================*/
-/** Password-Based Key Derivation Function.
-
- The PBKDF2 key derivation function is specified in
- RFC 2898 (Informational)
- PKCS #5: Password-Based Cryptography Specification Version 2.0
-
- @param pKeyData [out] derived key
- @param nKeyLen [in] derived key length
- @param pPassData [in] password
- @param nPassLen [in] password length
- @param pSaltData [in] salt
- @param nSaltLen [in] salt length
- @param nCount [in] iteration count
-
- @return rtl_Digest_E_None upon success.
-*/
-SAL_DLLPUBLIC rtlDigestError SAL_CALL rtl_digest_PBKDF2 (
- sal_uInt8 *pKeyData , sal_uInt32 nKeyLen,
- const sal_uInt8 *pPassData, sal_uInt32 nPassLen,
- const sal_uInt8 *pSaltData, sal_uInt32 nSaltLen,
- sal_uInt32 nCount
-) SAL_THROW_EXTERN_C();
-
-/*========================================================================
- *
- * The End.
- *
- *======================================================================*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RTL_DIGEST_H_ */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */