• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
5from __future__ import absolute_import, division, print_function
6
7INCLUDES = """
8#include <openssl/pem.h>
9"""
10
11TYPES = """
12typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata);
13"""
14
15FUNCTIONS = """
16X509 *PEM_read_bio_X509(BIO *, X509 **, pem_password_cb *, void *);
17int PEM_write_bio_X509(BIO *, X509 *);
18
19int PEM_write_bio_PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *,
20                             unsigned char *, int, pem_password_cb *, void *);
21
22EVP_PKEY *PEM_read_bio_PrivateKey(BIO *, EVP_PKEY **, pem_password_cb *,
23                                 void *);
24
25int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *,
26                                  char *, int, pem_password_cb *, void *);
27
28int i2d_PKCS8PrivateKey_bio(BIO *, EVP_PKEY *, const EVP_CIPHER *,
29                            char *, int, pem_password_cb *, void *);
30
31int i2d_PKCS7_bio(BIO *, PKCS7 *);
32PKCS7 *d2i_PKCS7_bio(BIO *, PKCS7 **);
33
34EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *, EVP_PKEY **, pem_password_cb *,
35                                  void *);
36
37int PEM_write_bio_X509_REQ(BIO *, X509_REQ *);
38
39X509_REQ *PEM_read_bio_X509_REQ(BIO *, X509_REQ **, pem_password_cb *, void *);
40
41X509_CRL *PEM_read_bio_X509_CRL(BIO *, X509_CRL **, pem_password_cb *, void *);
42
43int PEM_write_bio_X509_CRL(BIO *, X509_CRL *);
44
45PKCS7 *PEM_read_bio_PKCS7(BIO *, PKCS7 **, pem_password_cb *, void *);
46int PEM_write_bio_PKCS7(BIO *, PKCS7 *);
47
48DH *PEM_read_bio_DHparams(BIO *, DH **, pem_password_cb *, void *);
49
50int PEM_write_bio_DSAPrivateKey(BIO *, DSA *, const EVP_CIPHER *,
51                                unsigned char *, int,
52                                pem_password_cb *, void *);
53
54int PEM_write_bio_RSAPrivateKey(BIO *, RSA *, const EVP_CIPHER *,
55                                unsigned char *, int,
56                                pem_password_cb *, void *);
57
58RSA *PEM_read_bio_RSAPublicKey(BIO *, RSA **, pem_password_cb *, void *);
59
60int PEM_write_bio_RSAPublicKey(BIO *, const RSA *);
61
62EVP_PKEY *PEM_read_bio_PUBKEY(BIO *, EVP_PKEY **, pem_password_cb *, void *);
63int PEM_write_bio_PUBKEY(BIO *, EVP_PKEY *);
64int PEM_write_bio_ECPrivateKey(BIO *, EC_KEY *, const EVP_CIPHER *,
65                               unsigned char *, int, pem_password_cb *,
66                               void *);
67int PEM_write_bio_DHparams(BIO *, DH *);
68int PEM_write_bio_DHxparams(BIO *, DH *);
69"""
70
71CUSTOMIZATIONS = """
72#if !defined(EVP_PKEY_DHX) || EVP_PKEY_DHX == -1
73int (*PEM_write_bio_DHxparams)(BIO *, DH *) = NULL;
74#endif
75"""
76