2  * libopenemv - a library to work with EMV family of smart cards 
   3  * Copyright (C) 2015 Dmitry Eremin-Solenikov 
   5  * This library is free software; you can redistribute it and/or 
   6  * modify it under the terms of the GNU Lesser General Public 
   7  * License as published by the Free Software Foundation; either 
   8  * version 2.1 of the License, or (at your option) any later version. 
  10  * This library is distributed in the hope that it will be useful, 
  11  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
  12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
  13  * Lesser General Public License for more details. 
  16 #ifndef EMV_PKI_PRIV_H 
  17 #define EMV_PKI_PRIV_H 
  25 struct emv_pk 
*emv_pki_make_ca(const struct crypto_pk 
*cp
, 
  26                 const unsigned char *rid
, unsigned char index
, 
  27                 unsigned int expire
, enum crypto_algo_hash hash_algo
); 
  28 struct tlvdb 
*emv_pki_sign_issuer_cert(const struct crypto_pk 
*cp
, struct emv_pk 
*issuer_pk
); 
  29 struct tlvdb 
*emv_pki_sign_icc_cert(const struct crypto_pk 
*cp
, struct emv_pk 
*icc_pk
, const struct tlv 
*sda_tlv
); 
  30 struct tlvdb 
*emv_pki_sign_icc_pe_cert(const struct crypto_pk 
*cp
, struct emv_pk 
*icc_pe_pk
); 
  32 struct tlvdb 
*emv_pki_sign_dac(const struct crypto_pk 
*cp
, const struct tlv 
*dac_tlv
, const struct tlv 
*sda_tlv
); 
  33 struct tlvdb 
*emv_pki_sign_idn(const struct crypto_pk 
*cp
, const struct tlv 
*idn_tlv
, const struct tlv 
*dyn_tlv
);