标签: gnutls

为ubuntu 10.04 LTS提取tar.xz和tar.lz的gnutls库文件

我是linux平台的新手,我想为ubuntu提取gnutls.如果我做,

$ls
Run Code Online (Sandbox Code Playgroud)

然后,它将在下面显示这些文件.

gnutls-3.2.1.tar.lz
gnutls-3.2.1.tar.lz.sig
gnutls-3.2.1.tar.xz
gnutls-3.2.1.tar.xz.sig
Run Code Online (Sandbox Code Playgroud)

当我发出命令时,

$ tar -xvf gnutls-3.2.1.tar.xz
Run Code Online (Sandbox Code Playgroud)

我得到输出,

tar: xz: Cannot exec: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)

我想提取这些文件.

  1. 为什么有两种格式? - xz和lz
  2. 为什么有签名文件? - .sig如何验证?我试图通过gpgv <filename>.sig命令验证,它说没有找到公钥.
  3. 我需要一个单独的实用程序包?我看到一个'xz-utils_4.999',但它是测试版. http://manpages.ubuntu.com/manpages/lucid/man1/xz.1.html
  4. 还有其他稳定的实用包吗?从哪里以及如何下载?

tar ubuntu-10.04 gnutls

15
推荐指数
4
解决办法
5万
查看次数

cURL错误35:gnutls_handshake()失败

我从使用CURL通过SSL请求URI的PHP组件遇到以下错误:

cURL error 35: gnutls_handshake() failed: A TLS packet with unexpected length was received.
Run Code Online (Sandbox Code Playgroud)

此错误发生在travis-ci.org环境中,但不在我们的任何测试环境中.见travis-ci build 144663700.

我发现在Travis worker中运行的PHP版本在"Ubuntu 12.04.5 LTS"上再次编译为"GnuTLS/2.12.14",在"Ubuntu 14.04.3 LTS"上再次编译为"GnuTLS/2.12.23".

在我们的开发环境中,我们使用在Debian(各种版本)上针对"OpenSSL/1.0.1t"编译的标准包.

因此,我认为问题与"GnuTLS/2.12.14"或"GnuTLS/2.12.23"或它们编译的参数有关.

我尝试使用CURL常量CURLOPT_SSLVERSION来限制SSL版本,但这并没有解决问题.

根据www.ssllabs.com,有问题的主机 - api.reporting.cloud - 支持TLS 1.2,TLS 1.1和TLS 1.0.

有人会对我有任何提示或指示吗?

php curl travis-ci gnutls

13
推荐指数
2
解决办法
1万
查看次数

未找到 GnuTLS Libnetttle 3.4

当我尝试配置 GnuTLS 时,收到错误消息:未找到 Libnetttle 3.4。我安装了 nettle 3.4.1-1,库文件位于 /usr/lib 中。即使我NETTLE_LIBS直接指定环境变量 ( export NETTLE_LIBS="-L/usr/lib -R/usr/lib -lnettle"),它也总是会抛出该消息。

在 config.log 中有以下更具体的消息:

Package dependency requirement 'nettle >= 3.4.1' could not be satisfied.
Package 'nettle' has version '3.4', required version is '>= 3.4.1'
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

configure gnutls nettle

10
推荐指数
1
解决办法
1万
查看次数

Ubuntu wsl2 git 在大型存储库上收到“远程端意外挂断”

在 Windows 上的 wsl2 中的 Ubuntu 19.04 中执行此操作数天。

$ git clone https://github.com/gohugoio/hugo.git
Cloning into 'hugo'...
error: RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
  • 我尝试重新编译 git 以使用 openssl,但没有做任何事情。
  • 我尝试了 ssh 和 https。
  • 我试图修改 http 的 git 设置。
  • 我修改了各种git内存设置。
  • 当前 Stack Overflow 上的任何内容都无法解决此问题。
  • 我完全重新安装了Windows。不行,还是被坑了。

四天的威士忌探戈狐步舞……然后我找到了它。

windows git ssl gnutls windows-subsystem-for-linux

8
推荐指数
1
解决办法
2449
查看次数

服务器端支持TLS-PSK

我们正在考虑为一组受限设备支持TLS-PSK,这些设备没有足够的资源来使用证书进行正常的TLS握手.为此,我们正在寻找一个TLS-PSK组件,我们可以将它们集成到我们的(云)服务器上.这个组件可以是任何东西,代理,apache模块或其他任何可扩展的模块.

到目前为止,我们已经找到了几个支持TLS-PSK的库:GnuTLS,OpenSSL等.此外,我们可以找到几个HTTPS/TLS客户端库,我们可以使用它们通过TLS-PSK连接发送HTTP(S)请求.但是,我们无法找到的服务器端解决方案可以接受此类TLS-PSK连接.Apache模块mod_ssl和mod_gnutls不公开底层库的TLS-PSK功能.F5 Big-IP的密码列表中没有TLS-PSK.HAProxy也没有TLS-PSK接口.node.js TLS库的pull-request变得陈旧,很难应用于所有最近的TLS lib重构......

简而言之:有没有人知道我们可以在我们的服务器后端中集成一个支持TLS-PSK的组件来接受来自大量客户端的TLS-PSK连接?

ssl openssl haproxy gnutls server

7
推荐指数
1
解决办法
1420
查看次数

GnuTLS recv 错误 (-54):pull 函数出错

我有一个 PHP 抓取器,可以在我的本地完美运行。但是当我将它上传到我的 VPS (Ubuntu 16.04) 时,它无法从网站获取数据。相反,它显示此错误消息:

“卷曲:(56)GnuTLS 接收错误(-54):拉函数中的错误”

我更新了 Openssl、Curl、GnuTLS 仍然没有运气。尝试从命令行执行 CURL,它显示相同的错误。它应该与 CURL /GnuTLS 有关。我看到有些人在使用 Git 时有相同的错误消息并修复了它,但该解决方案在我的情况下不起作用。有什么办法可以解决吗?

这是我用来从网站获取数据的 PHP 函数:

function get_html($url)
{
    $agent= 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);

    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        'Accept-Language: q=0.9,en-US;q=0.8,en;q=0.7',
        'Connection: keep-alive'
 ));


    curl_setopt($ch, CURLOPT_URL,$url);
    $pageContent = curl_exec($ch);

    curl_close($ch);

    return $pageContent;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢。

php curl gnutls php-curl

7
推荐指数
0
解决办法
4049
查看次数

获取 Fuchsia 时 gnutls_handshake() 失败(TLS 连接未正确终止)?

我试图获取 Google Fuchsia 源代码,但我不断遇到以下错误:

ERROR: 'git fetch -p origin' failed:
stdout:
stderr:
fatal: unable to access 'https://fuchsia.googlesource.com/third_party/github.com/google/cppdap/':
gnutls_handshake() failed: The TLS connection was non-properly terminated.
command fail error: exit status 128

Run Code Online (Sandbox Code Playgroud)

因此,下载永远不会完全完成,并且我有一个不完整的 Fuchsia 存储库克隆。

我知道我的 Git 安装没问题,因为我可以通过 https 访问 GitHub 存储库(我经常这样做)。

我使用的是 WSL2(Ubuntu 20.04 LTS)。

我该如何修复这个错误?

git gnutls fuchsia

6
推荐指数
2
解决办法
2万
查看次数

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

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

gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt foo.example.com
Processed 173 CA certificate(s).
Resolving 'foo.example.com'...
Connecting to '1.2.3.4:443'...
*** Verifying server certificate failed...
*** Fatal error: Error in the certificate.
*** Handshake has failed
GnuTLS error: Error in the certificate.
Run Code Online (Sandbox Code Playgroud)

GnuTLS以外的所有内容都可以正常使用,但是git似乎在Ubuntu 14.04.2 LTS上使用GnuTLS开箱即用,所以git失败了:

GIT_CURL_VERBOSE=1 git clone https://foo.example.com/some-repo.git
Cloning into 'some-repo'...
* Couldn't find host foo.example.com in the .netrc file; using defaults
* Hostname was NOT found in DNS cache
*   Trying 1.2.3.4...
* Connected to foo.example.com (1.2.3.4) port 443 (#0)
* found 173 certificates …
Run Code Online (Sandbox Code Playgroud)

git ubuntu curl openssl gnutls

5
推荐指数
1
解决办法
6280
查看次数

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

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

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

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

    服务器准备就绪。监听端口“5556”

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

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

服务器返回:

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

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

linux ubuntu gnutls

5
推荐指数
0
解决办法
1283
查看次数

GnuTLS:无法使用GIT_SSH_COMMAND获取随机数据

我有一个脚本试图在后台克隆Git存储库,而无需用户提供凭据.因此,它设置GIT_SSH_COMMAND为启用OpenSSH批处理模式.再现问题的示例脚本:

import subprocess, sys
popen = subprocess.Popen(
  ['git', 'clone', 'https://github.com/NiklasRosenstein/flux.git'],
  env={'GIT_SSH_COMMAND': 'ssh -oBatchMode=yes'},
)
popen.wait()
sys.exit(popen.returncode)
Run Code Online (Sandbox Code Playgroud)

没有设置GIT_SSH_COMMAND,命令运行正常.但有了它,我明白了

C:\Users\niklas\Desktop
? test
Cloning into 'flux'...
Error in GnuTLS initialization: Failed to acquire random data.
fatal: unable to access 'https://github.com/NiklasRosenstein/flux.git/': Couldn't resolve host 'github.com'
Run Code Online (Sandbox Code Playgroud)

这里出了什么问题?使用Git-for-Windows 2.6.1.windows.1

windows git gnutls

5
推荐指数
1
解决办法
893
查看次数