pem.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # This file is dual licensed under the terms of the Apache License, Version
  2. # 2.0, and the BSD License. See the LICENSE file in the root of this repository
  3. # for complete details.
  4. from __future__ import absolute_import, division, print_function
  5. INCLUDES = """
  6. #include <openssl/pem.h>
  7. """
  8. TYPES = """
  9. typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata);
  10. """
  11. FUNCTIONS = """
  12. X509 *PEM_read_bio_X509(BIO *, X509 **, pem_password_cb *, void *);
  13. int PEM_write_bio_X509(BIO *, X509 *);
  14. int PEM_write_bio_PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *,
  15. unsigned char *, int, pem_password_cb *, void *);
  16. EVP_PKEY *PEM_read_bio_PrivateKey(BIO *, EVP_PKEY **, pem_password_cb *,
  17. void *);
  18. int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *,
  19. char *, int, pem_password_cb *, void *);
  20. int i2d_PKCS8PrivateKey_bio(BIO *, EVP_PKEY *, const EVP_CIPHER *,
  21. char *, int, pem_password_cb *, void *);
  22. int i2d_PKCS7_bio(BIO *, PKCS7 *);
  23. PKCS7 *d2i_PKCS7_bio(BIO *, PKCS7 **);
  24. EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *, EVP_PKEY **, pem_password_cb *,
  25. void *);
  26. int PEM_write_bio_X509_REQ(BIO *, X509_REQ *);
  27. X509_REQ *PEM_read_bio_X509_REQ(BIO *, X509_REQ **, pem_password_cb *, void *);
  28. X509_CRL *PEM_read_bio_X509_CRL(BIO *, X509_CRL **, pem_password_cb *, void *);
  29. int PEM_write_bio_X509_CRL(BIO *, X509_CRL *);
  30. PKCS7 *PEM_read_bio_PKCS7(BIO *, PKCS7 **, pem_password_cb *, void *);
  31. int PEM_write_bio_PKCS7(BIO *, PKCS7 *);
  32. DH *PEM_read_bio_DHparams(BIO *, DH **, pem_password_cb *, void *);
  33. int PEM_write_bio_DSAPrivateKey(BIO *, DSA *, const EVP_CIPHER *,
  34. unsigned char *, int,
  35. pem_password_cb *, void *);
  36. int PEM_write_bio_RSAPrivateKey(BIO *, RSA *, const EVP_CIPHER *,
  37. unsigned char *, int,
  38. pem_password_cb *, void *);
  39. RSA *PEM_read_bio_RSAPublicKey(BIO *, RSA **, pem_password_cb *, void *);
  40. int PEM_write_bio_RSAPublicKey(BIO *, const RSA *);
  41. EVP_PKEY *PEM_read_bio_PUBKEY(BIO *, EVP_PKEY **, pem_password_cb *, void *);
  42. int PEM_write_bio_PUBKEY(BIO *, EVP_PKEY *);
  43. int PEM_write_bio_ECPrivateKey(BIO *, EC_KEY *, const EVP_CIPHER *,
  44. unsigned char *, int, pem_password_cb *,
  45. void *);
  46. int PEM_write_bio_DHparams(BIO *, DH *);
  47. int PEM_write_bio_DHxparams(BIO *, DH *);
  48. """
  49. CUSTOMIZATIONS = """
  50. #if !defined(EVP_PKEY_DHX) || EVP_PKEY_DHX == -1
  51. int (*PEM_write_bio_DHxparams)(BIO *, DH *) = NULL;
  52. #endif
  53. """