mirror of
https://github.com/apache/nuttx-apps.git
synced 2025-07-04 19:07:16 +08:00

Most tools used for compliance and SBOM generation use SPDX identifiers This change brings us a step closer to an easy SBOM generation. Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
150 lines
3.8 KiB
C
150 lines
3.8 KiB
C
/****************************************************************************
|
|
* apps/crypto/openssl_mbedtls_wrapper/include/openssl/ssl_local.h
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
* SPDX-FileCopyrightText: 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 OPENSSL_MBEDTLS_WRAPPER_SSL_LOCAL_H
|
|
#define OPENSSL_MBEDTLS_WRAPPER_SSL_LOCAL_H
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#include <openssl/ssl.h>
|
|
#include <openssl/statem.h>
|
|
#include <openssl/x509.h>
|
|
#include <openssl/x509_local.h>
|
|
#include <openssl/x509_vfy.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
/****************************************************************************
|
|
* Public Types
|
|
****************************************************************************/
|
|
|
|
struct record_layer_st
|
|
{
|
|
int rstate;
|
|
int read_ahead;
|
|
};
|
|
|
|
struct ssl_ctx_st
|
|
{
|
|
int version;
|
|
int references;
|
|
unsigned long options;
|
|
const SSL_METHOD *method;
|
|
CERT *cert;
|
|
X509 *client_CA;
|
|
const char **alpn_protos;
|
|
next_proto_cb alpn_cb;
|
|
int verify_mode;
|
|
int (*default_verify_callback) (int ok, X509_STORE_CTX *ctx);
|
|
long session_timeout;
|
|
int read_ahead;
|
|
int read_buffer_len;
|
|
X509_VERIFY_PARAM param;
|
|
};
|
|
|
|
struct ssl_method_func_st
|
|
{
|
|
int (*ssl_new)(SSL *ssl);
|
|
void (*ssl_free)(SSL *ssl);
|
|
int (*ssl_handshake)(SSL *ssl);
|
|
int (*ssl_shutdown)(SSL *ssl);
|
|
int (*ssl_clear)(SSL *ssl);
|
|
int (*ssl_read)(SSL *ssl, void *buffer, int len);
|
|
int (*ssl_send)(SSL *ssl, const void *buffer, int len);
|
|
int (*ssl_pending)(const SSL *ssl);
|
|
void (*ssl_set_fd)(SSL *ssl, int fd, int mode);
|
|
int (*ssl_get_fd)(const SSL *ssl, int mode);
|
|
void (*ssl_set_bufflen)(SSL *ssl, int len);
|
|
long (*ssl_get_verify_result)(const SSL *ssl);
|
|
OSSL_HANDSHAKE_STATE (*ssl_get_state)(const SSL *ssl);
|
|
};
|
|
|
|
struct ssl_method_st
|
|
{
|
|
/* protocol version(one of SSL3.0, TLS1.0, etc.) */
|
|
|
|
int version;
|
|
|
|
/* SSL mode(client(0) , server(1), not known(-1)) */
|
|
|
|
int endpoint;
|
|
const SSL_METHOD_FUNC *func;
|
|
};
|
|
|
|
struct ssl_session_st
|
|
{
|
|
long timeout;
|
|
long time;
|
|
X509 *peer;
|
|
};
|
|
|
|
struct ssl_st
|
|
{
|
|
/* protocol version(one of SSL3.0, TLS1.0, etc.) */
|
|
|
|
int version;
|
|
unsigned long options;
|
|
|
|
/* shut things down(0x01 : sent, 0x02 : received) */
|
|
|
|
int shutdown;
|
|
CERT *cert;
|
|
X509 *client_CA;
|
|
SSL_CTX *ctx;
|
|
const SSL_METHOD *method;
|
|
const char **alpn_protos;
|
|
RECORD_LAYER rlayer;
|
|
|
|
/* where we are */
|
|
|
|
OSSL_STATEM statem;
|
|
SSL_SESSION *session;
|
|
int verify_mode;
|
|
int (*verify_callback) (int ok, X509_STORE_CTX *ctx);
|
|
int rwstate;
|
|
int interrupted_remaining_write;
|
|
long verify_result;
|
|
X509_VERIFY_PARAM param;
|
|
int err;
|
|
void (*info_callback) (const SSL *ssl, int type, int val);
|
|
|
|
/* SSL low-level system arch point */
|
|
|
|
void *ssl_pm;
|
|
};
|
|
|
|
/****************************************************************************
|
|
* Public Function Prototypes
|
|
****************************************************************************/
|
|
|
|
CERT *__ssl_cert_new(CERT *ic);
|
|
CERT *ssl_cert_new(void);
|
|
void ssl_cert_free(CERT *cert);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* OPENSSL_MBEDTLS_WRAPPER_SSL_LOCAL_H */
|