pem.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. *
  3. * Embedded Linux library
  4. *
  5. * Copyright (C) 2015 Intel Corporation. All rights reserved.
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Lesser General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2.1 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this library; if not, write to the Free Software
  19. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  20. *
  21. */
  22. #ifndef __ELL_PEM_H
  23. #define __ELL_PEM_H
  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif
  27. struct l_queue;
  28. struct l_key;
  29. struct l_cert;
  30. struct l_certchain;
  31. uint8_t *l_pem_load_buffer(const void *buf, size_t buf_len, char **type_label,
  32. size_t *out_len);
  33. uint8_t *l_pem_load_file(const char *filename, char **type_label, size_t *len);
  34. struct l_certchain *l_pem_load_certificate_chain(const char *filename);
  35. struct l_certchain *l_pem_load_certificate_chain_from_data(const void *buf,
  36. size_t len);
  37. struct l_queue *l_pem_load_certificate_list(const char *filename);
  38. struct l_queue *l_pem_load_certificate_list_from_data(const void *buf,
  39. size_t len);
  40. struct l_key *l_pem_load_private_key(const char *filename,
  41. const char *passphrase,
  42. bool *encrypted);
  43. struct l_key *l_pem_load_private_key_from_data(const void *buf, size_t len,
  44. const char *passphrase,
  45. bool *encrypted);
  46. #ifdef __cplusplus
  47. }
  48. #endif
  49. #endif /* __ELL_PEM_H */