我一直在寻找支持TLS 1.2的良好SSL/TLS库
我还想在嵌入式平台上使用这个库,因此它应该小巧,简单,安全且免费.它应该是ac/c ++库.
到目前为止,我遇到了很多Cyassl,Polarssl Matrixssl,所以我认为其中一个应该是一个不错的选择(Openssl太大了).
现在我想知道为什么人们使用一个而不是另一个.
谢谢
我正在研究用于嵌入式设备的不同 SSL/TLS 库。
我想知道人们认为这些库的优缺点是什么,以及这些库是否有特定的用例。
这是我的makefile.
#starts here
#Openssl constants
Openssl_include=-I/usr/local/openssl/include
Openssl_lib=-L/usr/local/openssl/lib -lcrypto -ldl
#Wolfssl constants
Wolfssl_include=-I/usr/local/wolfssl/include -LLIBDIR -DWOLFSSL_SHA512
Wolfssl_lib=-L/usr/local/wolfssl/lib -lwolfssl
#Mbedssl constants
Mbedssl_include=-I/usr/local/mbedssl/include
Mbedssl_lib=-L/usr/local/mbedssl/lib -lmbedcrypto
SRC=CAL_aes.c CAL_sha.c CAL_cmac.c CAL_rsa.c
OBJ=$(patsubst %.c,%.o,$(SRC))
M_OBJ=$(patsubst %.c,M_%.o,$(SRC))
M_fpic_OBJ=$(patsubst %.c,M_fpic_%.o,$(SRC))
O_OBJ=$(patsubst %.c,O_%.o,$(SRC))
O_fpic_OBJ=$(patsubst %.c,O_fpic_%.o,$(SRC))
W_OBJ=$(patsubst %.c,W_%.o,$(SRC))
W_fpic_OBJ=$(patsubst %.c,W_fpic_%.o,$(SRC))
.PHONY: clean Openssl Wolfssl Mbedssl compile_openssl compile_wolfssl compile_mbedssl
compile_openssl: $(OBJ)
%.o: %.c
cc -c $^ -o $(patsubst $@,O_$@,$@) $(Openssl_include) $(Openssl_lib)
cc -c -fpic $^ -o $(patsubst $@,O_fpic_$@,$@) $(Openssl_include) $(Openssl_lib)
Openssl: compile_openssl
ar rc libO_CAL_crypto.a $(O_OBJ)
cc -shared -o libO_CAL_crypto.so $(O_fpic_OBJ)
compile_wolfssl: …
Run Code Online (Sandbox Code Playgroud) 我在与www.howsmyssl.com/a/check建立安全连接时遇到了一些麻烦.我使用wolfSSL进行连接,但握手总是失败(致命错误警报40).我试图嗅探网络以查看数据包,看看究竟发送了什么以及支持哪些密码套件,我看到根据ssllabs的测试,howsmyssl.com和我的客户有共同的密码套件.所以我真的不知道错误发生在哪里.这是客户的踪迹:
这是一个链接到www.howsmyssl.com的ssllabs analysation.在这里你可以看到他们有共同的密码套件(例如0xc02f),所以我认为连接应该成功,或者我错过了什么?
编辑: 这是wolfssl的调试日志
[0;32mI (6565) openssl_example: OpenSSL demo thread start OK[0m
[0;33mW (6565) openssl_example: Size of long = 4, Size of longlong = 8
[0m
[0;32mI (6565) openssl_example: get target IP address[0m
[0;32mI (6595) openssl_example: OK[0m
[0;32mI (6595) openssl_example: 104.196.190.195[0m
wolfSSL Entering wolfSSL_Init
wolfSSL Entering wolfCrypt_Init
[0;32mI (6595) openssl_example: create SSL context ......[0m
wolfSSL Entering WOLFSSL_CTX_new_ex
wolfSSL Entering wolfSSL_CertManagerNew
wolfSSL Leaving WOLFSSL_CTX_new, return 0
[0;32mI (6615) openssl_example: OK[0m
wolfSSL Entering wolfSSL_CTX_set_verify
wolfSSL Entering wolfSSL_CTX_load_verify_buffer
Getting into …
Run Code Online (Sandbox Code Playgroud)