问题标签 [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.
ssl - NGINX 中的 gnutls 和 openssl 握手
我正在 NGINX 中测试 SSL/TLS 流代理,它将使用 gnutls 作为底层 TLS API 连接到 Web 服务器。使用gnutls(gnutls-serv)中的命令行测试工具整个过程都可以工作,但是我无法理解逻辑:
NGINX 客户端(将 HTTP 请求从实际客户端代理到 gnutls 服务器)似乎想要多次握手连接。事实上,在大多数测试中,在服务器响应测试网页之前,它似乎握手 3 次而没有错误。使用wireshark,或者只是调试消息,看起来客户端的套接字(从gnutls服务器的角度来看)正在关闭并在不同的端口上重新打开。最后在成功的连接上,gnutls 使用了一个恢复会话,我想这是前面提到的成功握手之一。
我没有找到任何关于这种行为的文档,我想知道这是否只是“NGINX 的事情”。
尽管握手最终适用于测试程序,但它似乎有点浪费(有多次昂贵的握手)并且在非测试环境中实现握手逻辑将是棘手的,而无需真正了解客户端正在尝试做什么。
我认为传输没有任何超时或问题,测试环境是连接在 1 个交换机之间的同一子网上的几个不同的虚拟机。
NGINX 版本是最新的主线:1.11.7。我最初使用的是 1.10.something,尽管存在更多传输错误,但行为相似。升级后这些错误似乎得到了很好的清理。
非常感谢其他人的任何信息或经验!
macos - 在 OSX 上编译 FileZilla
我一直在尝试在 Mac 上为研究项目编译 FileZilla 版本 3.11 和 3.24,但是当我运行 ../configure 时出现以下错误:
但是,我使用自制软件安装了 gnutls;当我跑步时
我可以看到安装在 /usr/local/Cellar/gnutls/3.5.8/ 的库
任何解决问题的想法都值得赞赏。谢谢
c - 使用带有 OpenSSL 的 PKCS11 令牌的两种方式 TLS 连接
我正在尝试建立与服务器的 TLS 1.2 连接。我必须使用存储在 PKCS11 令牌上的证书和密钥,但我似乎无法在 OpenSSL 中找到正确的函数来执行此操作。
我已经使用 [1] 实现了与 gnuTLS 类似的东西。OpenSSL 中是否有对应的 C/C++ 函数?基本上,我正在寻找一种编程方式来设置对象路径(PKCS#7 格式)和回调函数,因为解锁令牌需要 PIN。
甚至可以使用 OpenSSL 集成 PKCS#11 令牌吗?我找到了让我设置证书和密钥的功能,但只能作为本地机器上的文件 [2]。
任何帮助深表感谢。
[1] http://www.gnutls.org/manual/html_node/Using-a-PKCS11-token-with-TLS.html
[2] https://www.openssl.org/docs/man1.0.1/ssl/SSL_CTX_use_certificate_file.html
ftp - gnutls_record_recv:TLS 连接未正确终止。假设 EOF
我正在尝试使用Gitlab管道 ci 来构建我的网站并通过 FTPS 将其部署到我的 GoDaddy 主机。现在一切都在试运行。如果我尝试从我的顶级域 (www.mysite.com/build) 转移到新目录,该命令将在我的本地计算机和 Gitlab 管道上成功执行。但是,如果我尝试覆盖顶级域中的文件以实际更新站点,它仅适用于我的本地,但无法从 Gitlab 管道连接。
转移到新目录的命令:(
从我的 Gitlab.com 和我的本地机器上运行运行良好)
转移到顶级域的命令,覆盖现有代码:(
在我的本地机器上运行良好,但从未设法从 Gitab.com 正确连接)
我怀疑这可能是 GoDaddy 或 Gitlab 设置的问题,但我想先在这里检查一下,看看我是否遗漏了任何明显的错误。
我在下面的日志中包含了--debug
标志集。
转移到新目录(/build)
Gitlab.com(工作)
本地机器(工作)
转移到顶级域(覆盖/更新)
Gitlab.com **(不工作)**
本地机器(工作)
git - Bitbucket gnutls_handshake() 失败:拉取函数中的错误
我在新创建的带有 bitbucket 的 Ubuntu 16.04 操作系统上遇到问题。当我从bitbucket存储库克隆 repo时,出现以下错误
克隆到“my-demos”... 致命:无法访问“ https://amepani@bitbucket.org/amepani/my-demos.git/ ”:gnutls_handshake() 失败:拉取函数中的错误。
我已经浏览了此链接,但无法解决问题。我已经更新了 JDK 版本,还安装了最新版本的 git,但得到了同样的错误。
让我知道如何解决这个问题。
ssl - OpenVAS Go TLS 证书错误
我目前正在为 OpenVAS 开发一个自定义扫描仪。问题是与我的自定义服务器的握手失败。
我将问题追溯到 error -73
: GNUTLS_E_ASN1_TAG_ERROR
from gnutls_handshake
,但我找不到有关该问题的任何资源。我当时读到了一些关于证书不正确的信息,但除了重新生成 OpenVAS 证书之外我无能为力。go 服务器中的 tls 功能只使用一个简单的ListenAndServeTLS
并获取服务器证书和密钥。
编辑:所以这是自定义扫描仪上的相关网络部分:
函数句柄(conn net.Conn){
}
功能主要(){
}
它取自一个示例,但起初它不能正常工作(在 parsecertificates 之前没有解码)。也许正因为如此,证书现在格式错误?在添加两个解码之前,我遇到了关于 asn1 标签不匹配的类似错误。所以也是一个 asn1 错误。我想生成自己的证书,但我不知道这是否不会破坏其他扫描仪的 OpenVAS。仅在 go 中使用 listenandservetls 时,我得到了相同的结果。该错误肯定是在 gnutls_handshake 中产生的。令人沮丧的是,我只能从中得到一个错误代码。
c - 如何告诉 NetBeans gnutls 在我的系统上的什么位置?
我尝试在我的 macOS Sierra 上使用 NetBeans 构建 C/C++ 项目,并收到以下错误消息:
我确实gnutls
安装了。如何告诉 NetBeans 在哪里寻找它?
c - 为什么 libonion 的 websockets.c 示例给出错误“如果未编译 gnutls,则无法计算 SHA1!”
我正在尝试运行 libonion 的 websockets.c 示例(https://github.com/davidmoreno/onion/tree/master/examples/websockets)。但是,当我运行它时,它会出现此错误。
“[ERROR codecs.c:389] 如果未编译 gnutls,则无法计算 SHA1!现在中止”
其他示例运行良好。
我正在编译:
$ gcc -o muz websockets.c -I$ONION_DIR/src/ -L$ONION_DIR/src/onion/ -lonion_static -Lpam -Lgnutls -Lgcrypt -lpthread
终端输出如下所示。
php - 如何强制 PHP 的 cURL 扩展使用 OpenSSL 而不是 GnuTLS?
我有一个 PHPUnit 测试套件正在运行,它在我的本地机器上成功通过,但在Travis CI上失败。
我已经确定测试失败是由于使用 GnuTLS 而不是 OpenSSL 的 cURL 扩展,我不知道如何强制它使用 OpenSSL。
我得到的错误是:
我尝试按照此处提供的说明进行操作,但由于无法远程访问 Travis 实例,因此不断上传不同的配置并等待它们每次运行是令人沮丧的。
查看 Travis 系统信息,我可以看到以下内容:
所以我知道安装了 OpenSSL,cURL 安装了 OpenSSL,并且 PHP 在 5.6.31 上运行。
我也有以下输出php -i
:
我怎样才能SSL Version
成为OpenSSL/1.0.1f
而不是GnuTLS/2.12.23
?
python - FreeTDS 静态链接到具有 GNUTLS 支持的 PYMSSQL
我正在尝试为 pymssql 创建一个 whl,其中包括具有 GNUTLS 支持的 FreeTDS。我的构建在docker上的 cflinuxfs2 上,它基于 ubuntu 14.04。此图像包括 gnutls,我使用以下选项编译了 FreeTDS R1_00:
我正在尝试按照他们遵循的PYMSSQL 文档步骤中的说明通过使用 -fPIC 集进行编译来创建公共 whl(不带 tls)。
我已经设定:
在运行设置之前。PYMSSQL 库中的 PY 和生成的 whl 不包括 gnutls 符号。当我导入 pymssql 时,我得到:
ImportError:/usr/lib64/python2.7/site-packages/pymssql.so:未定义符号:gnutls_pem_base64_decode
我应该怎么做才能在 pymssql.so 中包含对 FreeTDS 中使用的 gnutls 符号的动态引用?
有没有更好的方法来做到这一点?归根结底,我需要一个包含带有 TLS 支持的 FreeTDS 的 whl,这样我就可以将它包含在一个烧瓶应用程序中,该应用程序将在 cloudfoundry 上的 python_buildpack 上运行。