问题标签 [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.
c++ - 阅读 X509-Certificate 进行处理
我需要阅读 C++ 中的 X509 证书。我找不到使用 GnuTLS 库的方法。证书必须以 PEM 或 DER 格式读取,以便我可以使用 GnuTLS 库的功能对其进行处理。openssl 中提供的生物文件是否有附件,允许我读取证书并将其转换为可处理的格式?
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 中的错误
当我打印文件类型时,我可以看到通常的证书结构。
我的错是什么?
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
有谁知道是什么问题?
ssl - 查询-关于-Gnutls-构建
我被要求开发一个使用 gnutls 的传输客户端(我使用的是 3.4.1)。
我还想模拟更多数量的此类 tls 客户端。
在我的应用程序中,每个客户端都是一个单独的进程。
我的每个进程都与 gmp、nettle 和 gnutls 库动态链接。
如果没有 tls,我可以在我的机器(8 gb RAM)中轻松模拟超过 10k 的连接(使用 tcp/udp)。
但是有了 tls,我无法模拟超过 800 个连接。记忆正在枯竭,这对我来说是一个大问题。
我使用 Valgrind 内存检查工具运行,我看到零错误和零警告。
任何人都可以帮助我在构建 gnutls 时应该注意什么,以便对其进行优化并尽可能地使用它。
ssl - 如何使用 GnuTLS 将 PEM 证书转换为 PKCS12
我想使用 GnuTLS certtool 将 PEM 公钥和私钥转换为 PKCS12 pfx 包。我在目标系统上没有可用的 openssl。与 openssl 等效的命令是:
node.js - 无法通过nodejs中的url使用ssl握手下载文件
我正在尝试使用 url 下载文件,因为它是 https url,因此我需要进行 tls 握手,这是我正在处理的代码,但它正在运行但没有结果和错误
我的 nodjs 代码
sockets - 如何在 TLS 侦听器中验证对等证书
我正在编写一个 TLS 侦听器并接受新连接。在继续之前,必须根据 SHA1 列表验证新连接。问题是tls.Listen()
返回接口的侦听器net.Listener
。这意味着Accept()
将产生 plain-janenet.Conn
而不是tls.Conn
提供ConnectionState().PeerCertificates
.
接受net.Conn
的太基本了,但是当我转换为更具体的*tls.Conn
类型时,我收到了运行时异常。
哪些错误是这样的:
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 方面确实有它。如果它是编译器找不到它,为什么它会找到一些值,我如何让它找到它?如果不是,那是什么问题?
c++ - GNUTLS 中的 SNI,什么时候问?
所以,我试图在我的 GNUTLS 服务器中实现 SNI。
我的代码:
(不要介意JNI)
我得到 -56 错误代码,即GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
文档将其转换为未发送 SNI(尚未)。我如何知道我何时拥有 SNI 信息?AKA 我什么时候收到客户您好?我直接从 Chrome 获得这个,所以我知道有 SNI。顺便说一句,这都是NIO。