/*
 * =====================================================================================
 *
 *       Filename:  certGenerator.h
 *
 *    Description:  X.509 service certificate generator.
 *
 *        Version:  1.0
 *        Created:  12/05/2017 10:48:18 AM
 *       Compiler:  armcc
 *
 *         Author:  Dongwook Shim (), dw.shim@samsung.com
 *        Company:  Samsung Electronics
 *
 *        Copyright (c) 2017 by Samsung Electronics, All rights reserved.
 *
 * =====================================================================================
 */

#ifndef __CERT_GENERATOR_H__
#define __CERT_GENERATOR_H__

#include <stdint.h>

#include "commonConfig.h"
#include "keyManager.h"
#include "x509/x509v3.h"

void     initAttrSubst(void);
uint32_t getTlvExponent(void);
int32_t  generateCertificate(uint8_t *outData, uint32_t *outDataLen, const ServiceKeyInfo_t *serviceKeyInfo,
								const struct x509_certificate *issuer, KEY *service, KEY *ca);
int32_t parseSubstituteAttrs(const uint8_t* attr, uint32_t attrLen);

#endif	// End of __CERT_GENERATOR_H__
