问题标签 [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 投票
1 回答
1302 浏览

c++ - 阅读 X509-Certificate 进行处理

我需要阅读 C++ 中的 X509 证书。我找不到使用 GnuTLS 库的方法。证书必须以 PEM 或 DER 格式读取,以便我可以使用 GnuTLS 库的功能对其进行处理。openssl 中提供的生物文件是否有附件,允许我读取证书并将其转换为可处理的格式?

0 投票
1 回答
813 浏览

c++ - GnuTLS:导入证书时出错

我在使用 GnuTLS 库导入证书时遇到问题。我生成了一个自签名证书,我想将其导入到我的 C++ 代码中,以进一步处理它。我使用fopen. 我将其保存到 a gnutls_datum_t-type,这似乎是 aFILE-type和 的元组length of the FILE-type。为什么我的代码会抛出Error Value: -207这意味着Base64 unexpected header error.

当我查找证书的类型时,它告诉我是pkix-cert+pem,但我也尝试了x-x509-cert. 全部使用 certtool 生成。

当我更改输入的预期格式时,错误值更改为 -73,这意味着 ASN1 解析器:TAG 中的错误

当我打印文件类型时,我可以看到通常的证书结构。

我的错是什么?

0 投票
0 回答
667 浏览

php - 抓取 https 页面时出现 gnutls_handshake 错误

我想用 php curl 抓取一些 https 页面。PHP 抛出以下错误:

gnutls_handshake() 失败:已收到 TLS 致命警报。

我的 php 是使用以下参数自行编译的:--with-curl --with-openssl. 我还将 curl 参数CURLOPT_SSL_VERIFYHOST和设置CURLOPT_SSL_VERIFYPEER为 0。

phpinfo()方法在 curl 部分向我显示 SSL 版本:GnuTLS/2.12.20

有谁知道是什么问题?

0 投票
1 回答
198 浏览

php - 在 travis-ci 上编译 gnutls 3.1.28

我希望 travis-ci 上的 php curl 使用 GnuTls 3.1.28 而不是默认的 GnuTls 2.12。我设置了一个实验性的 ec2 实例,我的编译使我成功使用了 gnutls3,但这不适用于 travis-ci 工作程序。

跑步

在 ec2 实例上产生

表明它引用了我编译的 GnuTls 3.1.28

但是关于 travis-ci 工人的产量

表明它仍在引用 GnuTls 2.12(此处为完整日志)

var_dump(curl_version()) 证实了这一点。

我的具体命令可以在这里找到

有没有我想念的 travis-ci 工作人员特有的东西?

0 投票
1 回答
29 浏览

ssl - 查询-关于-Gnutls-构建

我被要求开发一个使用 gnutls 的传输客户端(我使用的是 3.4.1)。

我还想模拟更多数量的此类 tls 客户端。

在我的应用程序中,每个客户端都是一个单独的进程。

我的每个进程都与 gmp、nettle 和 gnutls 库动态链接。

如果没有 tls,我可以在我的机器(8 gb RAM)中轻松模拟超过 10k 的连接(使用 tcp/udp)。

但是有了 tls,我无法模拟超过 800 个连接。记忆正在枯竭,这对我来说是一个大问题。

我使用 Valgrind 内存检查工具运行,我看到零错误和零警告。

任何人都可以帮助我在构建 gnutls 时应该注意什么,以便对其进行优化并尽可能地使用它。

0 投票
1 回答
1291 浏览

ssl - 如何使用 GnuTLS 将 PEM 证书转换为 PKCS12

我想使用 GnuTLS certtool 将 PEM 公钥和私钥转换为 PKCS12 pfx 包。我在目标系统上没有可用的 openssl。与 openssl 等效的命令是:

0 投票
0 回答
145 浏览

node.js - 无法通过nodejs中的url使用ssl握手下载文件

我正在尝试使用 url 下载文件,因为它是 https url,因此我需要进行 tls 握手,这是我正在处理的代码,但它正在运行但没有结果和错误

我的 nodjs 代码

0 投票
1 回答
2125 浏览

sockets - 如何在 TLS 侦听器中验证对等证书

我正在编写一个 TLS 侦听器并接受新连接。在继续之前,必须根据 SHA1 列表验证新连接。问题是tls.Listen()返回接口的侦听器net.Listener。这意味着Accept()将产生 plain-janenet.Conn而不是tls.Conn提供ConnectionState().PeerCertificates.

接受net.Conn的太基本了,但是当我转换为更具体的*tls.Conn类型时,我收到了运行时异常。

哪些错误是这样的:

http://play.golang.org/p/gv7dy8XQ81

0 投票
1 回答
727 浏览

c++ - C枚举引用未定义,但位于包含的头文件中?

所以,我在玩 GNUTLS,它有这个枚举:

坐在它的主头文件中(gnutls.h,版本 3.3.17)。我在这里引用它:

(就在示例中)。我确实有#include <gnutls/gnutls.h>, 并且所有引用似乎都很好(其他枚举都很好,除了GNUTLS_X509_FMT_PEM)。我读了一些关于编译器没有看到 gnutls.h 的内容,它在/usr/local/include而不是/usr/include,但是我在 Eclipse 的 Includes 方面确实有它。如果它是编译器找不到它,为什么它会找到一些值,我如何让它找到它?如果不是,那是什么问题?

0 投票
1 回答
161 浏览

c++ - GNUTLS 中的 SNI,什么时候问?

所以,我试图在我的 GNUTLS 服务器中实现 SNI。

我的代码:

(不要介意JNI)

我得到 -56 错误代码,即GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE文档将其转换为未发送 SNI(尚未)。我如何知道我何时拥有 SNI 信息?AKA 我什么时候收到客户您好?我直接从 Chrome 获得这个,所以我知道有 SNI。顺便说一句,这都是NIO。