Renesas / SecureDweet
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 
00017 /* RSA */
00018 WOLFSSL_API
00019 int wolfSSL_PEM_write_bio_RSAPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa,
00020                                         const EVP_CIPHER* cipher,
00021                                         unsigned char* passwd, int len,
00022                                         pem_password_cb cb, void* arg);
00023 WOLFSSL_API
00024 int wolfSSL_PEM_write_mem_RSAPrivateKey(RSA* rsa, const EVP_CIPHER* cipher,
00025                                         unsigned char* passwd, int len,
00026                                         unsigned char **pem, int *plen);
00027 #if !defined(NO_FILESYSTEM)
00028 WOLFSSL_API
00029 int wolfSSL_PEM_write_RSAPrivateKey(FILE *fp, WOLFSSL_RSA *rsa,
00030                                     const EVP_CIPHER *enc,
00031                                     unsigned char *kstr, int klen,
00032                                     pem_password_cb *cb, void *u);
00033 WOLFSSL_API
00034 WOLFSSL_RSA *wolfSSL_PEM_read_RSAPublicKey(FILE *fp, WOLFSSL_RSA **x,
00035                                            pem_password_cb *cb, void *u);
00036 WOLFSSL_API
00037 int wolfSSL_PEM_write_RSAPublicKey(FILE *fp, WOLFSSL_RSA *x);
00038 
00039 WOLFSSL_API
00040 int wolfSSL_PEM_write_RSA_PUBKEY(FILE *fp, WOLFSSL_RSA *x);
00041 #endif /* NO_FILESYSTEM */
00042 
00043 /* DSA */
00044 WOLFSSL_API
00045 int wolfSSL_PEM_write_bio_DSAPrivateKey(WOLFSSL_BIO* bio,
00046                                         WOLFSSL_DSA* dsa,
00047                                         const EVP_CIPHER* cipher,
00048                                         unsigned char* passwd, int len,
00049                                         pem_password_cb cb, void* arg);
00050 WOLFSSL_API
00051 int wolfSSL_PEM_write_mem_DSAPrivateKey(WOLFSSL_DSA* dsa,
00052                                         const EVP_CIPHER* cipher,
00053                                         unsigned char* passwd, int len,
00054                                         unsigned char **pem, int *plen);
00055 #if !defined(NO_FILESYSTEM)
00056 WOLFSSL_API
00057 int wolfSSL_PEM_write_DSAPrivateKey(FILE *fp, WOLFSSL_DSA *dsa,
00058                                     const EVP_CIPHER *enc,
00059                                     unsigned char *kstr, int klen,
00060                                     pem_password_cb *cb, void *u);
00061 WOLFSSL_API
00062 int wolfSSL_PEM_write_DSA_PUBKEY(FILE *fp, WOLFSSL_DSA *x);
00063 #endif /* NO_FILESYSTEM */
00064 
00065 /* ECC */
00066 WOLFSSL_API
00067 int wolfSSL_PEM_write_bio_ECPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_EC_KEY* ec,
00068                                        const EVP_CIPHER* cipher,
00069                                        unsigned char* passwd, int len,
00070                                        pem_password_cb cb, void* arg);
00071 WOLFSSL_API
00072 int wolfSSL_PEM_write_mem_ECPrivateKey(WOLFSSL_EC_KEY* key,
00073                                        const EVP_CIPHER* cipher,
00074                                        unsigned char* passwd, int len,
00075                                        unsigned char **pem, int *plen);
00076 #if !defined(NO_FILESYSTEM)
00077 WOLFSSL_API
00078 int wolfSSL_PEM_write_ECPrivateKey(FILE *fp, WOLFSSL_EC_KEY *key,
00079                                    const EVP_CIPHER *enc,
00080                                    unsigned char *kstr, int klen,
00081                                    pem_password_cb *cb, void *u);
00082 WOLFSSL_API
00083 int wolfSSL_PEM_write_EC_PUBKEY(FILE *fp, WOLFSSL_EC_KEY *key);
00084 #endif /* NO_FILESYSTEM */
00085 
00086 /* EVP_KEY */
00087 WOLFSSL_API
00088 WOLFSSL_EVP_PKEY* wolfSSL_PEM_read_bio_PrivateKey(WOLFSSL_BIO* bio,
00089                                                   WOLFSSL_EVP_PKEY**,
00090                                                   pem_password_cb cb,
00091                                                   void* arg);
00092 WOLFSSL_API
00093 int wolfSSL_EVP_PKEY_type(int type);
00094 
00095 #if !defined(NO_FILESYSTEM)
00096 WOLFSSL_API
00097 WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x,
00098                                           pem_password_cb *cb, void *u);
00099 #endif /* NO_FILESYSTEM */
00100 
00101 /* RSA */
00102 #define PEM_write_bio_RSAPrivateKey wolfSSL_PEM_write_bio_RSAPrivateKey
00103 #define PEM_write_RSAPrivateKey     wolfSSL_PEM_write_RSAPrivateKey
00104 #define PEM_write_RSA_PUBKEY        wolfSSL_PEM_write_RSA_PUBKEY
00105 #define PEM_write_RSAPublicKey      wolfSSL_PEM_write_RSAPublicKey
00106 #define PEM_read_RSAPublicKey       wolfSSL_PEM_read_RSAPublicKey
00107 /* DSA */
00108 #define PEM_write_bio_DSAPrivateKey wolfSSL_PEM_write_bio_DSAPrivateKey
00109 #define PEM_write_DSAPrivateKey     wolfSSL_PEM_write_DSAPrivateKey
00110 #define PEM_write_DSA_PUBKEY        wolfSSL_PEM_write_DSA_PUBKEY
00111 /* ECC */
00112 #define PEM_write_bio_ECPrivateKey wolfSSL_PEM_write_bio_ECPrivateKey
00113 #define PEM_write_EC_PUBKEY        wolfSSL_PEM_write_EC_PUBKEY
00114 #define PEM_write_ECPrivateKey     wolfSSL_PEM_write_ECPrivateKey
00115 /* EVP_KEY */
00116 #define PEM_read_bio_PrivateKey wolfSSL_PEM_read_bio_PrivateKey
00117 #define PEM_read_PUBKEY         wolfSSL_PEM_read_PUBKEY
00118 #define EVP_PKEY_type           wolfSSL_EVP_PKEY_type
00119 
00120 #ifdef __cplusplus
00121     }  /* extern "C" */ 
00122 #endif
00123 
00124 #endif /* WOLFSSL_PEM_H_ */
00125 
00126