https://github.com/henrycg/earand
Raw File
Tip revision: 362625f3847ddd2e2d5a90cf5f93b4b3ea76e059 authored by Henry Corrigan-Gibbs on 21 May 2018, 19:54:59 UTC
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;
}

back to top