https://github.com/henrycg/earand
Tip revision: 362625f3847ddd2e2d5a90cf5f93b4b3ea76e059 authored by Henry Corrigan-Gibbs on 21 May 2018, 19:54:59 UTC
Merge branch 'master' of github.com:henrycg/earand
Merge branch 'master' of github.com:henrycg/earand
Tip revision: 362625f
dsa_ca.c
#include <string.h>
#include "dsa_ca.h"
struct dsa_ca {
DsaParams params;
};
DsaCa DsaCa_New(DsaParams params)
{
DsaCa ca = safe_malloc(sizeof(*ca));
ca->params = params;
return ca;
}
void DsaCa_Free(DsaCa ca)
{
free(ca);
}
X509* DsaCa_SignCertificate(DsaCa ca, X509* cert_in)
{
CHECK_CALL(X509_verify(cert_in, DsaParams_GetEaPublicKey(ca->params)));
CHECK_CALL(cert_in);
X509* cert_out = X509_dup(cert_in);
CHECK_CALL(cert_out);
CHECK_CALL(X509_sign(cert_in, DsaParams_GetCaPrivateKey(ca->params), EVP_sha1()));
return cert_out;
}