mirror of
https://github.com/kingk85/uFTP.git
synced 2025-08-01 06:17:36 +03:00
TLS prototype test
This commit is contained in:
BIN
build/modules/openSsl.o
Normal file
BIN
build/modules/openSsl.o
Normal file
Binary file not shown.
31
cert.pem
Normal file
31
cert.pem
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
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
|
||||||
|
-----END CERTIFICATE-----
|
54
key.pem
Normal file
54
key.pem
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
||||||
|
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
|
||||||
|
K2EdyPkehQ1J4kxpT5WkMQ==
|
||||||
|
-----END ENCRYPTED PRIVATE KEY-----
|
77
library/openSsl.c
Normal file
77
library/openSsl.c
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License
|
||||||
|
*
|
||||||
|
* Copyright 2018 Ugo Cirmignani.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
|
||||||
|
#include "openSsl.h"
|
||||||
|
|
||||||
|
void init_openssl()
|
||||||
|
{
|
||||||
|
SSL_load_error_strings();
|
||||||
|
OpenSSL_add_ssl_algorithms();
|
||||||
|
}
|
||||||
|
|
||||||
|
void cleanup_openssl()
|
||||||
|
{
|
||||||
|
EVP_cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
|
SSL_CTX *create_context()
|
||||||
|
{
|
||||||
|
const SSL_METHOD *method;
|
||||||
|
SSL_CTX *ctx;
|
||||||
|
|
||||||
|
method = SSLv23_server_method();
|
||||||
|
|
||||||
|
ctx = SSL_CTX_new(method);
|
||||||
|
if (!ctx) {
|
||||||
|
perror("Unable to create SSL context");
|
||||||
|
ERR_print_errors_fp(stderr);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ctx;
|
||||||
|
}
|
||||||
|
|
||||||
|
void configure_context(SSL_CTX *ctx)
|
||||||
|
{
|
||||||
|
SSL_CTX_set_ecdh_auto(ctx, 1);
|
||||||
|
|
||||||
|
/* Set the key and cert */
|
||||||
|
if (SSL_CTX_use_certificate_file(ctx, "/home/ugo/NetBeansProjects/uFTP/cert.pem", SSL_FILETYPE_PEM) <= 0) {
|
||||||
|
ERR_print_errors_fp(stderr);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SSL_CTX_use_PrivateKey_file(ctx, "/home/ugo/NetBeansProjects/uFTP/key.pem", SSL_FILETYPE_PEM) <= 0 ) {
|
||||||
|
ERR_print_errors_fp(stderr);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
}
|
47
library/openSsl.h
Normal file
47
library/openSsl.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* The MIT License
|
||||||
|
*
|
||||||
|
* Copyright 2018 Ugo Cirmignani.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef OPENSSL_H
|
||||||
|
#define OPENSSL_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void init_openssl();
|
||||||
|
void cleanup_openssl();
|
||||||
|
SSL_CTX *create_context();
|
||||||
|
void configure_context(SSL_CTX *ctx);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* OPENSSL_H */
|
||||||
|
|
Reference in New Issue
Block a user