blob: 0a724eef8ab36871b419e5858b6d42b7090dc042 [file] [log] [blame]
/*
*
* Copyright (c) 2011-2015 Nest Labs, Inc.
* All rights reserved.
*
* This document is the property of Nest. It is considered
* confidential and proprietary information.
*
* This document may not be reproduced or transmitted in any form,
* in whole or in part, without the express written permission of
* Nest.
*
* Description:
* Simplified implementation of OpenSSL's ECDSA_SIG functions.
*
* These avoid references to OpenSSL's ASN1 infrastructure, which is bloated
* and unnecessary in this context.
*/
#include <stdlib.h>
#include <openssl/ecdsa.h>
#include <openssl/bn.h>
ECDSA_SIG *ECDSA_SIG_new(void)
{
ECDSA_SIG *sig = (ECDSA_SIG *)CRYPTO_malloc(sizeof(ECDSA_SIG), __FILE__, __LINE__);
if (sig != NULL)
{
sig->r = BN_new();
sig->s = BN_new();
}
return sig;
}
void ECDSA_SIG_free(ECDSA_SIG *sig)
{
if (sig != NULL)
{
BN_free(sig->r);
BN_free(sig->s);
CRYPTO_free(sig);
}
}