blob: dc786314a8a95a08c82a7838dca3920a612d9cd9 [file] [log] [blame]
//========================================================================
//
// CertificateInfo.cc
//
// This file is licensed under the GPLv2 or later
//
// Copyright 2018 Chinmoy Ranjan Pradhan <chinmoyrp65@gmail.com>
//
//========================================================================
#include "CertificateInfo.h"
#include <string.h>
#include <stdlib.h>
X509CertificateInfo::X509CertificateInfo()
{
memset(&issuer_info, 0, sizeof issuer_info);
memset(&subject_info, 0, sizeof subject_info);
cert_serial = nullptr;
cert_der = nullptr;
ku_extensions = KU_NONE;
cert_version = -1;
is_self_signed = false;
}
X509CertificateInfo::~X509CertificateInfo()
{
free(issuer_info.commonName);
free(issuer_info.distinguishedName);
free(issuer_info.email);
free(issuer_info.organization);
free(subject_info.commonName);
free(subject_info.distinguishedName);
free(subject_info.email);
free(subject_info.organization);
}
int X509CertificateInfo::getVersion() const
{
return cert_version;
}
GooString *X509CertificateInfo::getSerialNumber() const
{
return cert_serial;
}
X509CertificateInfo::EntityInfo X509CertificateInfo::getIssuerInfo() const
{
return issuer_info;
}
X509CertificateInfo::Validity X509CertificateInfo::getValidity() const
{
return cert_validity;
}
X509CertificateInfo::EntityInfo X509CertificateInfo::getSubjectInfo() const
{
return subject_info;
}
X509CertificateInfo::PublicKeyInfo X509CertificateInfo::getPublicKeyInfo() const
{
return public_key_info;
}
unsigned int X509CertificateInfo::getKeyUsageExtensions() const
{
return ku_extensions;
}
GooString *X509CertificateInfo::getCertificateDER() const
{
return cert_der;
}
bool X509CertificateInfo::getIsSelfSigned() const
{
return is_self_signed;
}
void X509CertificateInfo::setVersion(int version)
{
cert_version = version;
}
void X509CertificateInfo::setSerialNumber(GooString *serialNumber)
{
cert_serial = serialNumber;
}
void X509CertificateInfo::setIssuerInfo(EntityInfo issuerInfo)
{
issuer_info = issuerInfo;
}
void X509CertificateInfo::setValidity(Validity validity)
{
cert_validity = validity;
}
void X509CertificateInfo::setSubjectInfo(EntityInfo subjectInfo)
{
subject_info = subjectInfo;
}
void X509CertificateInfo::setPublicKeyInfo(PublicKeyInfo pkInfo)
{
public_key_info = pkInfo;
}
void X509CertificateInfo::setKeyUsageExtensions(unsigned int keyUsages)
{
ku_extensions = keyUsages;
}
void X509CertificateInfo::setCertificateDER(GooString *certDer)
{
cert_der = certDer;
}
void X509CertificateInfo::setIsSelfSigned(bool isSelfSigned)
{
is_self_signed = isSelfSigned;
}