Start optionally using the SHA implementation from the existing crypto API #44
2 changed files with 45 additions and 1 deletions
|
@ -28,6 +28,26 @@
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
#if (TLS_IMPL == TLS_OPENSSL) || (TLS_IMPL == TLS_LIBRESSL)
|
||||||
|
|
||||||
|
#include <openssl/sha.h>
|
||||||
|
|
||||||
|
unsigned char *
|
||||||
|
Sha1(char *str)
|
||||||
|
{
|
||||||
|
unsigned char *digest;
|
||||||
|
if (!str)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
digest = Malloc(20 + 1);
|
||||||
|
SHA1((unsigned char *) str, strlen(str), digest);
|
||||||
|
digest[20] = '\0';
|
||||||
|
return digest;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
#define LOAD32H(x, y) \
|
#define LOAD32H(x, y) \
|
||||||
{ \
|
{ \
|
||||||
x = ((uint32_t)((y)[0] & 255) << 24) | \
|
x = ((uint32_t)((y)[0] & 255) << 24) | \
|
||||||
|
@ -264,3 +284,4 @@ Sha1(char *str)
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -21,14 +21,36 @@
|
||||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include <Sha.h>
|
|
||||||
#include <Memory.h>
|
#include <Memory.h>
|
||||||
|
#include <Sha.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
|
||||||
|
#if (TLS_IMPL == TLS_OPENSSL) || (TLS_IMPL == TLS_LIBRESSL)
|
||||||
|
|
||||||
|
#include <openssl/sha.h>
|
||||||
|
#include <Log.h>
|
||||||
|
|
||||||
|
unsigned char *
|
||||||
|
Sha256(char *str)
|
||||||
|
{
|
||||||
|
unsigned char *digest;
|
||||||
|
if (!str)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
digest = Malloc(32 + 1);
|
||||||
|
SHA256((unsigned char *) str, strlen(str), digest);
|
||||||
|
digest[32] = '\0';
|
||||||
|
return digest;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
|
||||||
#define GET_UINT32(x) \
|
#define GET_UINT32(x) \
|
||||||
(((uint32_t)(x)[0] << 24) | \
|
(((uint32_t)(x)[0] << 24) | \
|
||||||
((uint32_t)(x)[1] << 16) | \
|
((uint32_t)(x)[1] << 16) | \
|
||||||
|
@ -230,3 +252,4 @@ Sha256(char *str)
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue