wolf SSL / wolfSSL-TLS13-Beta

Fork of wolfSSL by wolf SSL

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pem.h Source File

pem.h

00001 /* pem.h for openssl */
00002 
00003 
00004 #ifndef WOLFSSL_PEM_H_
00005 #define WOLFSSL_PEM_H_
00006 
00007 #include <wolfssl/openssl/evp.h>
00008 #include <wolfssl/openssl/bio.h>
00009 #include <wolfssl/openssl/rsa.h>
00010 #include <wolfssl/openssl/dsa.h>
00011 
00012 #ifdef __cplusplus
00013     extern "C" {
00014 #endif
00015 
00016 #define PEM_write_bio_PrivateKey wolfSSL_PEM_write_bio_PrivateKey
00017 
00018 /* RSA */
00019 WOLFSSL_API
00020 int wolfSSL_PEM_write_bio_RSAPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa,
00021                                         const EVP_CIPHER* cipher,
00022                                         unsigned char* passwd, int len,
00023                                         pem_password_cb* cb, void* arg);
00024 WOLFSSL_API
00025 int wolfSSL_PEM_write_mem_RSAPrivateKey(RSA* rsa, const EVP_CIPHER* cipher,
00026                                         unsigned char* passwd, int len,
00027                                         unsigned char **pem, int *plen);
00028 #if !defined(NO_FILESYSTEM)
00029 WOLFSSL_API
00030 int wolfSSL_PEM_write_RSAPrivateKey(FILE *fp, WOLFSSL_RSA *rsa,
00031                                     const EVP_CIPHER *enc,
00032                                     unsigned char *kstr, int klen,
00033                                     pem_password_cb *cb, void *u);
00034 WOLFSSL_API
00035 WOLFSSL_RSA *wolfSSL_PEM_read_RSAPublicKey(FILE *fp, WOLFSSL_RSA **x,
00036                                            pem_password_cb *cb, void *u);
00037 WOLFSSL_API
00038 int wolfSSL_PEM_write_RSAPublicKey(FILE *fp, WOLFSSL_RSA *x);
00039 
00040 WOLFSSL_API
00041 int wolfSSL_PEM_write_RSA_PUBKEY(FILE *fp, WOLFSSL_RSA *x);
00042 #endif /* NO_FILESYSTEM */
00043 
00044 /* DSA */
00045 WOLFSSL_API
00046 int wolfSSL_PEM_write_bio_DSAPrivateKey(WOLFSSL_BIO* bio,
00047                                         WOLFSSL_DSA* dsa,
00048                                         const EVP_CIPHER* cipher,
00049                                         unsigned char* passwd, int len,
00050                                         pem_password_cb* cb, void* arg);
00051 WOLFSSL_API
00052 int wolfSSL_PEM_write_mem_DSAPrivateKey(WOLFSSL_DSA* dsa,
00053                                         const EVP_CIPHER* cipher,
00054                                         unsigned char* passwd, int len,
00055                                         unsigned char **pem, int *plen);
00056 #if !defined(NO_FILESYSTEM)
00057 WOLFSSL_API
00058 int wolfSSL_PEM_write_DSAPrivateKey(FILE *fp, WOLFSSL_DSA *dsa,
00059                                     const EVP_CIPHER *enc,
00060                                     unsigned char *kstr, int klen,
00061                                     pem_password_cb *cb, void *u);
00062 WOLFSSL_API
00063 int wolfSSL_PEM_write_DSA_PUBKEY(FILE *fp, WOLFSSL_DSA *x);
00064 #endif /* NO_FILESYSTEM */
00065 
00066 /* ECC */
00067 WOLFSSL_API
00068 int wolfSSL_PEM_write_bio_ECPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_EC_KEY* ec,
00069                                        const EVP_CIPHER* cipher,
00070                                        unsigned char* passwd, int len,
00071                                        pem_password_cb* cb, void* arg);
00072 WOLFSSL_API
00073 int wolfSSL_PEM_write_mem_ECPrivateKey(WOLFSSL_EC_KEY* key,
00074                                        const EVP_CIPHER* cipher,
00075                                        unsigned char* passwd, int len,
00076                                        unsigned char **pem, int *plen);
00077 #if !defined(NO_FILESYSTEM)
00078 WOLFSSL_API
00079 int wolfSSL_PEM_write_ECPrivateKey(FILE *fp, WOLFSSL_EC_KEY *key,
00080                                    const EVP_CIPHER *enc,
00081                                    unsigned char *kstr, int klen,
00082                                    pem_password_cb *cb, void *u);
00083 WOLFSSL_API
00084 int wolfSSL_PEM_write_EC_PUBKEY(FILE *fp, WOLFSSL_EC_KEY *key);
00085 #endif /* NO_FILESYSTEM */
00086 
00087 /* EVP_KEY */
00088 WOLFSSL_API
00089 WOLFSSL_EVP_PKEY* wolfSSL_PEM_read_bio_PrivateKey(WOLFSSL_BIO* bio,
00090                                                   WOLFSSL_EVP_PKEY**,
00091                                                   pem_password_cb* cb,
00092                                                   void* arg);
00093 WOLFSSL_API
00094 int wolfSSL_PEM_write_bio_PrivateKey(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* key,
00095                                         const WOLFSSL_EVP_CIPHER* cipher,
00096                                         unsigned char* passwd, int len,
00097                                         pem_password_cb* cb, void* arg);
00098 
00099 WOLFSSL_API
00100 int wolfSSL_EVP_PKEY_type(int type);
00101 
00102 WOLFSSL_API
00103 int wolfSSL_EVP_PKEY_base_id(const EVP_PKEY *pkey);
00104 
00105 #if !defined(NO_FILESYSTEM)
00106 WOLFSSL_API
00107 WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x,
00108                                           pem_password_cb *cb, void *u);
00109 WOLFSSL_API
00110 WOLFSSL_X509 *wolfSSL_PEM_read_X509(FILE *fp, WOLFSSL_X509 **x,
00111                                           pem_password_cb *cb, void *u);
00112 WOLFSSL_API
00113 WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_PrivateKey(FILE *fp, WOLFSSL_EVP_PKEY **x,
00114                                           pem_password_cb *cb, void *u);
00115 #endif /* NO_FILESYSTEM */
00116 
00117 #define PEM_read_X509               wolfSSL_PEM_read_X509
00118 #define PEM_read_PrivateKey         wolfSSL_PEM_read_PrivateKey
00119 #define PEM_write_bio_PrivateKey    wolfSSL_PEM_write_bio_PrivateKey
00120 /* RSA */
00121 #define PEM_write_bio_RSAPrivateKey wolfSSL_PEM_write_bio_RSAPrivateKey
00122 #define PEM_write_RSAPrivateKey     wolfSSL_PEM_write_RSAPrivateKey
00123 #define PEM_write_RSA_PUBKEY        wolfSSL_PEM_write_RSA_PUBKEY
00124 #define PEM_write_RSAPublicKey      wolfSSL_PEM_write_RSAPublicKey
00125 #define PEM_read_RSAPublicKey       wolfSSL_PEM_read_RSAPublicKey
00126 /* DSA */
00127 #define PEM_write_bio_DSAPrivateKey wolfSSL_PEM_write_bio_DSAPrivateKey
00128 #define PEM_write_DSAPrivateKey     wolfSSL_PEM_write_DSAPrivateKey
00129 #define PEM_write_DSA_PUBKEY        wolfSSL_PEM_write_DSA_PUBKEY
00130 /* ECC */
00131 #define PEM_write_bio_ECPrivateKey wolfSSL_PEM_write_bio_ECPrivateKey
00132 #define PEM_write_EC_PUBKEY        wolfSSL_PEM_write_EC_PUBKEY
00133 #define PEM_write_ECPrivateKey     wolfSSL_PEM_write_ECPrivateKey
00134 /* EVP_KEY */
00135 #define PEM_read_bio_PrivateKey wolfSSL_PEM_read_bio_PrivateKey
00136 #define PEM_read_PUBKEY         wolfSSL_PEM_read_PUBKEY
00137 #define EVP_PKEY_type           wolfSSL_EVP_PKEY_type
00138 
00139 #ifdef __cplusplus
00140     }  /* extern "C" */ 
00141 #endif
00142 
00143 #endif /* WOLFSSL_PEM_H_ */
00144 
00145