diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2018-02-14 08:00:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-14 08:00:47 +0100 |
| commit | ac5cce5e9513eba34745f7e1e90c320ec92390f9 (patch) | |
| tree | 0ccca56f5fbc3fde1bc00ee72e272b842329c62f /thirdparty/lws/mbedtls_wrapper/include/internal/ssl_pkey.h | |
| parent | e7351ecdf5f14f1b6a8733f91fd90646406d77a5 (diff) | |
| parent | bd3c27ba7862d50b1bf54733e9f890f7084a9ea5 (diff) | |
Merge pull request #16519 from Faless/mbedtls
Replace OpenSSL with mbedTLS
Diffstat (limited to 'thirdparty/lws/mbedtls_wrapper/include/internal/ssl_pkey.h')
| -rw-r--r-- | thirdparty/lws/mbedtls_wrapper/include/internal/ssl_pkey.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/thirdparty/lws/mbedtls_wrapper/include/internal/ssl_pkey.h b/thirdparty/lws/mbedtls_wrapper/include/internal/ssl_pkey.h new file mode 100644 index 0000000000..e790fcc995 --- /dev/null +++ b/thirdparty/lws/mbedtls_wrapper/include/internal/ssl_pkey.h @@ -0,0 +1,86 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _SSL_PKEY_H_ +#define _SSL_PKEY_H_ + +#ifdef __cplusplus + extern "C" { +#endif + +#include "ssl_types.h" + +/** + * @brief create a private key object according to input private key + * + * @param ipk - input private key point + * + * @return new private key object point + */ +EVP_PKEY* __EVP_PKEY_new(EVP_PKEY *ipk); + +/** + * @brief create a private key object + * + * @param none + * + * @return private key object point + */ +EVP_PKEY* EVP_PKEY_new(void); + +/** + * @brief load a character key context into system context. If '*a' is pointed to the + * private key, then load key into it. Or create a new private key object + * + * @param type - private key type + * @param a - a point pointed to a private key point + * @param pp - a point pointed to the key context memory point + * @param length - key bytes + * + * @return private key object point + */ +EVP_PKEY* d2i_PrivateKey(int type, + EVP_PKEY **a, + const unsigned char **pp, + long length); + +/** + * @brief free a private key object + * + * @param pkey - private key object point + * + * @return none + */ +void EVP_PKEY_free(EVP_PKEY *x); + +/** + * @brief load private key into the SSL + * + * @param type - private key type + * @param ssl - SSL point + * @param len - data bytes + * @param d - data point + * + * @return result + * 0 : failed + * 1 : OK + */ + int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const unsigned char *d, long len); + + +#ifdef __cplusplus +} +#endif + +#endif |