问题标签 [gnutls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1386 浏览

linux - openssl 对 cryptodev-linux 的支持

看起来 openssl 带有 cryptodev-linux 支持(通过 eng_cryptodev.c)。当我下载 openssl 时,eng_cryptodev.c 文件默认可用。

下面的链接是关于 eng_cryptodev.c 的 openssl 支持:

http://repo.or.cz/w/cryptodev-linux.git/commitdiff/56cc4e3b8b761cb34f928f4eee59755d1f0afc53

注意:看起来对 openssl 源中可用的 eng_cryptodev.c 文件进行了一些额外的更改。

最近似乎有一些可用于 cryptodev-linux 的更改/补丁,下面包含参考信息。

http://rt.openssl.org/Ticket/Display.html?id=2770&user=guest&pass=guest

补丁是:

0001-cryptodev-Fix-issue-with-signature-generation.patch 0002-cryptodev-allow-copying-EVP-contexts.patch

注意:patch -p0 < 0001/2-*.patch 不能正常工作。所以手动应用。

如果我的理解不正确,请告诉我。

BR,

& 萨努马拉

0 投票
2 回答
555 浏览

c++ - SSL 现在过时了吗?

我开始学习信息保护,从 OpenSSL 开始。但我在 Wikipedia 上读到 SSL 的安全问题仍未解决,任何人都必须改用 TLS。这是真的吗?这是否意味着 SSL 现在已过时?(因为出现了其他信息保护方式而不是修复 SSL)

0 投票
1 回答
8768 浏览

git - 如何让 git 告诉 curl 在不重建包的情况下使用 openssl 而不是 gnutls?

我们有一个 GnuTLS 不喜欢的内部服务器,例如:

除了 GnuTLS 之外的所有内容都可以正常运行,但 git 似乎在 Ubuntu 14.04.2 LTS 上使用了开箱即用的 GnuTLS,因此 git 失败并显示:

我们正在努力解决与 GnuTLS 的不兼容问题,但与此同时,有没有办法强制 git 告诉 curl 在运行时使用另一个 SSL 引擎(即不从源代码重建 git)?

0 投票
2 回答
2361 浏览

python - 使用 context.use_certificate_chain_file 时的“键值不匹配”

使用时context.use_certificate_chain_file出现关键错误(openssl.Context Python)。错误是:

它说关键值不匹配,但我认为链条不会影响这一点。

如果我评论 context.use_certificate_chain_file 行,它可以完美运行(但在浏览器中会出现 ssl 验证错误)。

这是我的代码片段:

任何想法为什么它给出错误?

0 投票
1 回答
185 浏览

port - 如何使用 GnuTLS 连接到特定的 IP 地址和端口

我有一个 TCP 客户端和服务器,我想使用 GnuTLS 实现一个安全层。我已经阅读了 GnuTLS 文档,他们没有谈到连接到特定的 IP 地址或端口。他们确实在可用于生成证书请求的 certtool 模板中设置了 IP 地址。

但就我而言,作为客户端,我在 UDP 会话期间获取服务器地址,然后将我的 TCP 套接字连接到它。

在文档中给出的示例中,有这一行:

(session, GNUTLS_NAME_DNS, "my_host_name", strlen("my_host_name"));

...我相信它负责获取服务器地址。

0 投票
0 回答
719 浏览

python - 无法使用 OpenSSL 重新构建 pycurl

由于这个错误,我正在尝试使用 OpenSSL 重建 pycurl 。我用这个例子

  1. sudo apt-get install build-essential fakeroot dpkg-dev
  2. mkdir ~/python-pycurl-openssl
  3. cd ~/python-pycurl-openssl
  4. sudo apt-get 源码 python-pycurl
  5. sudo apt-get build-dep python-pycurl
  6. sudo apt-get install libcurl4-openssl-dev
  7. sudo dpkg-source -x pycurl_7.19.3-0ubuntu3.dsc
  8. cd pycurl-7.19.3
  9. 编辑 debian/control 文件并用 'libcurl4-openssl-dev' 替换所有 'libcurl4-gnutls-dev' 实例(7 处更改)
  10. sudo PYCURL_SSL_LIBRARY=openssl dpkg-buildpackage -rfakeroot -b
  11. sudo dpkg -i ../python-pycurl_7.19.3-0ubuntu3_amd64.deb

但毕竟我仍然坚持使用 pycurl 的 GnuTLS 构建。

操作日志(有一些错误的回溯): http: //pastebin.com/6hUEUGar

我用:

我究竟做错了什么?


我可以使用 pip 解决问题:

现在:

但我不确定它是否正确。为什么系统中有两个包?或者没关系,python 只是链接到其中之一?

0 投票
0 回答
1123 浏览

linux - GNUTLS 客户端-服务器 TLS 握手错误

我正在使用 gnutls 给出的两个示例:

  1. “支持 X.509 证书的简单客户端示例”没有任何更改
  2. “带有 X.509 身份验证的 Echo 服务器”。我使用 certtool 和自签名证书“​​cert.pem”生成了私钥“key.pem”,并在示例中使用它。

    服务器正常工作...输出如下:

    服务器准备好了。监听端口“5556”

但是如果我运行客户端示例,它会返回以下错误:

握手失败 GnuTLS 错误:TLS 连接未正确终止

服务器返回:

来自 127.0.0.1 的连接,端口 58587 握手失败(请求无效。)

问题是什么?我需要更改客户端示例吗?如果没有,如何检查 TLS 握手过程以及客户端和服务器之间发送的数据?

0 投票
0 回答
61 浏览

c - GnuTLS 扩展

我尝试使用本网站 ( http://www.wikinology.cn/wiki/GnuTLS_Extension_Development_Notes ) 中定义的 gnutls 添加我自己的 TLS 扩展,所以让我一步一步解释:

注意:我使用了 gnutls-3.3.14 和扩展名为:SupportedAndAcceptedCertType。

1- m4/hooks.m4

2- gnutls_int.h:

GNUTLS_EXTENSION_SupportedAndAcceptedCertType=9999

3-在 gnutls_extensions.c 中:

/ * 测试 * /

/*结束测试*/

4-在 ext 文件中创建 SupportedAndAcceptedCertType.h:

5-在 ext 文件中创建 SupportedAndAcceptedCertType.c:

6-在 Makefile.am 中:

现在基于网站“ http://www.wikinology.cn/wiki/GnuTLS_Extension_Development_Notes ”,我目前在步骤“更新模板文件:

必须更新这些文件:

库/Makefile.in

lib/includes/gnutls/gnutls.h.in

我该怎么做这一步?在这一步之后,我可以在握手中看到我的扩展(ClientHello 和 ServerHello)吗?

谢谢

0 投票
0 回答
1486 浏览

c++ - 无法静态链接 libgnutls.a

我尝试链接 gnutls 库静态(libgnutls.a)。我已经用 OpenSSL 做了类似的事情,它完美地使用了命令行:g++ test.cpp -statical -lcrypto -ldl -o test。但是,如果我尝试使用 gnuTLS 库(g++ test.cpp -statical -lgnutls -ldl -o test),我会收到很多这样的错误:

是否有可能静态链接 gnuTLS 库?

0 投票
2 回答
161 浏览

ssl - 由于通过 _asn1_ordering_set_of 重新排序而导致签名验证失败

我正在使用GnuTLS 3.4.1。我有一个 x509 证书,里面有一组序列。证书以这种方式存储在智能卡上。

GnuTLS 正在通过 function 重新排列序列_asn1_ordering_set_of,这似乎导致验证失败。

这是序列的样子:

OpenSSL(可能还有 Java PKCS11 提供者)按原样加载此结构。加载证书时的 GnuTLS 将此结构排序为_asn1_ordering_set_of. 这样就变成了:

为什么 GnuTLS 对序列集进行排序?应该怎么做,是 GnuTLS 错误还是其他库只是省略了排序?