Code Monkey home page Code Monkey logo

tassl-1.1.1's People

Contributors

jntass avatar yanshichao0226 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tassl-1.1.1's Issues

专利对ZUC实现和应用的影响?

ZUC算法的国家标准提到该算法涉及到一些专利,如GB/T 33133.1-2016的引言部分有如下阐述,

本文件的发布机构请注意,声明符合本文件时,可能涉及《一种序列密码实现方法和装置》专利号:ZL200910086409.9)
和《一种完整性认证方法》(专利号:ZL200910243440.9)相关专利的使用。
...
本文件的发布机构对于该专利的真实性、有效性和范围无任何立场。该专利的持有人已向本文件的发布机构保证,
他愿意同任何申请人在合理且无歧视的条款和条件下,就该专利授权许可进行谈判。

请问,这些专利是否会限制ZUC的实现和应用?

配置RSA证书后,ip访问后,错误,域名访问没问题

38 SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: 10.0.0.4, server: 0.0.0.0:8888

Wireshark抓包后,对比显示错误:TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Certificate Unknown)

你好,请问ukey的例子使用的哪一家的测试的,是符合GM/T 0016-2012标准的吗?

你好,请问ukey的例子使用的哪一家的测试的,是符合GM/T 0016-2012标准的吗?

tassl_demo 目录下的ukey_util.c中的代码中导出私钥部分代码如下:

/* Load sign key from ukey */
pkey = ukey_export(0, 1);
if( NULL == pkey )
goto error;
err = SSL_CTX_use_PrivateKey(ctx, pkey);

符合GM/T 0016-2012标准ukey不能导出私钥吧?

另外代码中不包含 引擎的实现吗?

/111111 初始化引擎/
const char *engine_name_sm2 = "tasscard_sm2";
ENGINE *tasscardsm2_e = NULL;

我们正在使用ukey 实现TLCP的通信,好多不太懂,谢谢!

不错!加油

挺好用的,原来的1.1.1k版本我用了,编译挺方便,对商密支持不错。
希望这个版本更好!
接口别大变,方便升级。

你好,请问如何链接我链接engine的时候出现下面的报错是什么原因?

我想要使用engine设置自己的加密实现替换cntls_client_method方法中的加密算法实现

我先编译了一个源码目录engine中的源码 afalg和ossltest引擎进行测试,但是出现下面的报错
之前有尝试过在标准的openssl1.1.1n源码编译后的opensll是可以使用的,测试能够使用同样是源码编译出的下面两个engine

[root@linx:~/source/rkengine]# openssl engine ossltest
548396515344:error:2506406A:DSO support routines:dlfcn_bind_func:could not bind to the requested symbol name:../crypto/dso/dso_dlfcn.c:196:symname(bind_engine): /root/source/rkengine/ossltest.so: undefined symbol: bind_engine
548396515344:error:2506C06A:DSO support routines:DSO_bind_func:could not bind to the requested symbol name:../crypto/dso/dso_lib.c:186:
548396515344:error:260B6068:engine routines:dynamic_load:DSO failure:../crypto/engine/eng_dyn.c:447:
548396515344:error:2606A074:engine routines:ENGINE_by_id:no such engine:../crypto/engine/eng_list.c:421:id=ossltest
[root@linx:~/source/rkengine]# openssl engine afalg
548144418832:error:2506406A:DSO support routines:dlfcn_bind_func:could not bind to the requested symbol name:../crypto/dso/dso_dlfcn.c:196:symname(bind_engine): /root/source/rkengine/afalg.so: undefined symbol: bind_engine
548144418832:error:2506C06A:DSO support routines:DSO_bind_func:could not bind to the requested symbol name:../crypto/dso/dso_lib.c:186:
548144418832:error:260B6068:engine routines:dynamic_load:DSO failure:../crypto/engine/eng_dyn.c:447:
548144418832:error:2606A074:engine routines:ENGINE_by_id:no such engine:../crypto/engine/eng_list.c:421:id=afalg
(reverse-i-search)`export OP': ^Cport OPENSSL_ENGINES=/root/source/rkengine/

GM1.1 国密加密证书验证失败导致coredump

debug库下的coredump栈:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007ffff7dc6864 in __GI_abort () at abort.c:79
#2  0x0000555555632bce in OPENSSL_die (message=0x555555809f94 "refcount error", file=0x555555809f7d "crypto/asn1/tasn_utl.c", line=93)at crypto/cryptlib.c:421
#3  0x0000555555618c49 in asn1_do_lock (pval=0x7fffffffcd48, op=-1, it=0x5555558bdee0 <X509_it>) at crypto/asn1/tasn_utl.c:93
#4  0x0000555555616f12 in asn1_item_embed_free (pval=0x7fffffffcd48, it=0x5555558bdee0 <X509_it>, embed=0) at crypto/asn1/tasn_fre.c:88
#5  0x0000555555616c72 in ASN1_item_free (val=0x555555921030, it=0x5555558bdee0 <X509_it>) at crypto/asn1/tasn_fre.c:20
#6  0x00005555556ffe42 in X509_free (a=0x555555921030)at crypto/x509/x_x509.c:109
#7  0x00005555556e7a56 in OPENSSL_sk_pop_free (st=0x555555923410, func=0x5555556ffe1c <X509_free>) at crypto/stack/stack.c:368
#8  0x00005555555ba458 in sk_X509_pop_free (sk=0x555555923410, freefunc=0x5555556ffe1c <X509_free>) at include/openssl/x509.h:103
#9  0x00005555555bd6bc in SSL_free (s=0x55555590daa0) at ssl/ssl_lib.c:1218

nginx_tassl开启双向国密ssl验证

使用nginx1.23.2版本,tassl编译后,配置国密ssl证书,并开启双向验证,客户端浏览器使用红莲花和360安全浏览器,访问后读取ukey证书,输入pin码访问,出现证书错误。
服务端的nginx日志:
2023/07/12 16:02:59 [info] 88327#88327: *110 SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: 10.123.10.184, server: 0.0.0.0:443
2023/07/12 16:02:59 [info] 88328#88328: *111 SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: 10.123.10.184, server: 0.0.0.0:443
2023/07/12 16:02:59 [info] 88328#88328: *112 SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: 10.123.10.184, server: 0.0.0.0:443
2023/07/12 16:02:59 [info] 88328#88328: *113 client SSL certificate verify error: (26:unsupported certificate purpose) while reading client request headers, client: 10.123.10.184, server: , request: "GET / HTTP/1.1", host: "10.123.10.181"
2023/07/12 16:02:59 [info] 88328#88328: *114 SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: 10.123.10.184, server: 0.0.0.0:443
2023/07/12 16:02:59 [info] 88328#88328: *115 client SSL certificate verify error: (26:unsupported certificate purpose) while reading client request headers, client: 10.123.10.184, server: , request: "GET /favicon.ico HTTP/1.1", host: "10.123.10.181", referrer: "https://10.123.10.181/"

国密浏览器页面显示:
400 Bad Request
The SSL certificate error

nginx配置:
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:AES128-SHA:DES-CBC3-SHA:ECC-SM4-SM3:ECDHE-SM4-SM3:SM2-WITH-SMS4-SM3:ECDHE-SM2-WITH-SMS4-GCM-SM3;
ssl_prefer_server_ciphers on;

######-----SM2------#####
ssl_certificate /opt/tassl/tassl_demo/cert/certs/SS.crt;
ssl_certificate_key /opt/tassl/tassl_demo/cert/certs/SS.key;

ssl_certificate /opt/tassl/tassl_demo/cert/certs/SE.crt;
ssl_certificate_key /opt/tassl/tassl_demo/cert/certs/SE.key;
######-----SM2------#####

ssl_verify_client on;
ssl_client_certificate /root/root_ca.crt;

location / {

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass http://10.123.11.235:12345;

}

}

关于360浏览器和密信浏览器提示证书风险的问题

你好,我目前使用的是自签名的证书,将CA.crt证书导入密信浏览器和360浏览器访问依旧会提示风险,我导入的是受信任的根证书颁发机构,看到之前的仓库问题中有说需要cfca颁发的证书才不会在360浏览器中有风险提示,想问一下您在密信浏览器中是否存在同样的问题,怎样才可以解决自颁发证书的风险提示问题,问题图片如下,非常感谢您的帮助。

密信浏览器
image

360浏览器
image

目前状态下的tassl 和 阿里的 tongsuo 在国密协议实现上有什么区别吗?

据我了解现在两者都实现了 tls1.3 以及 国密双证功能, ssl 部分的国密协议都是支持
ciphersuite 方面,我比对了一下,tongsuo 和tassl的国密套件命名上有些区别,tongsuo的ecc和ecdhe以及gcm套件多了SM2字段, 还有就是多了rsa与国密算法的组合, 我想知道在国密方面两家现在有无不兼容的地方?
--- tongsuo
+++ tassl
@@ -36,10 +36,8 @@
DHE-PSK-AES128-GCM-SHA256
AES128-GCM-SHA256
PSK-AES128-GCM-SHA256
-ECC-SM2-SM4-GCM-SM3
-ECDHE-SM2-SM4-GCM-SM3
-RSA-SM4-GCM-SHA256
-RSA-SM4-GCM-SM3
+ECC-SM4-GCM-SM3
+ECDHE-SM4-GCM-SM3
AES256-SHA256
AES128-SHA256
ECDHE-PSK-AES256-CBC-SHA384
@@ -61,10 +59,8 @@
DHE-PSK-AES128-CBC-SHA256
RSA-PSK-AES128-CBC-SHA
DHE-PSK-AES128-CBC-SHA
-ECC-SM2-SM4-CBC-SM3
-ECDHE-SM2-SM4-CBC-SM3
+ECC-SM4-SM3
+ECDHE-SM4-SM3
AES128-SHA
-RSA-SM4-CBC-SHA256
-RSA-SM4-CBC-SM3
PSK-AES128-CBC-SHA256
PSK-AES128-CBC-SHA

no-engine 编译失败

一开始是在编译 iOS 静态库时发现此问题,进一步发现是 no-engine 引起的,因为 15-ios.conf 中默认禁用了 engine。

Configure  no-engine

都会出现很多编译错误,例如如下这样的

crypto/evp/evp_enc.c:57:9: error: use of undeclared identifier 'ENGINE_CIPHERS_PTR'

阅读代码代码发现都是 #ifndef OPENSSL_NO_CNSM 后再调用 Engine 相关函数出现的错误。进步修改为

 Configure  no-engine no-cnsm

但是又出现了其他一些错误,例如

crypto/pkcs7/pk7_doit.c:405:16: error: 'have_z' undeclared (first use in this function)

如果直接修改所有出错地方的源码

/* #ifndef OPENSSL_NO_CNSM */
#if !defined(OPENSSL_NO_CNSM) && !defined(OPENSSL_NO_ENGINE)

则会带来更多的编译错误

目前看来 no-engine no-cnsm 这两个选项都不能使用。

ukey demo中没有使用私钥

您好,我需要在ssl握手阶段使用ukey中的私钥,demo中的例子只加载了公钥,请问要如何实现?

sm2签名值经过转换后于国产密码设备无法互通的问题。

SM2签名得ecdsa结构转换成去der编码数据后,于SKF和SDF的验签接口验签失败。你们有碰到这种情况么?
//asn1形式转
const BIGNUM* r = ECDSA_SIG_get0_r(sig_der);
const BIGNUM* s = ECDSA_SIG_get0_s(sig_der);

    BN_bn2bin(r, r_bin);
    BN_bn2bin(s, s_bin);

    memcpy(signature, r_bin, sizeof(r_bin));
    memcpy(signature + sizeof(r_bin), s_bin, sizeof(s_bin));

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.