问题标签 [public-key-exchange]

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 回答
4403 浏览

encryption - 将 .pub 公钥证书转换为 .ASC

我对加密/解密领域完全陌生,在问这个问题之前我搜索了很多(虽然是一个非常基本的问题)。

我们有一个用户以 .pub 格式发送了他的公钥证书。我们需要将其转换为 .asc 才能通过 Kleopatra 导入我们的系统,以便我们可以加密文件并将其发送给他。我尝试使用我在网上找到的多个命令,但它们似乎都不起作用。

有没有办法做到这一点?

PS:我们使用Windows作为我们的环境。

0 投票
1 回答
318 浏览

java - TLS 服务器密钥交换消息的详细信息

这与我关于 DH 参数的其他问题(没有得到任何答案)基本相同,但我有兴趣获取有关在 TLS 握手期间发送的 TLS 服务器密钥交换消息的信息。

这些消息——或者来自它们的信息,如协商的临时密钥——是否可以通过 Java API 获得?我正在使用 JavaSSLSocketFactory获取一个SSLSocket然后使用它进行连接;在它之上没有其他 API(如 Apache http-client),我必须突破才能达到这个水平。

我只是不确定Java是否完全公开了这些信息。我尝试使用 a HandshakeCompletedListener,但这似乎没有为我提供我所寻求的任何信息。

有谁知道是否/如何做到这一点?

0 投票
2 回答
574 浏览

cryptography - ECDHE-RSA 是否与基本 DH 方案相关?

在仔细阅读该主题后,我知道 ECDHE-RSA 如何通过为每个会话创建一组新的私钥和公钥来提供 PFS。

然而我无法理解的是,这个方案与基本的 DH 方案有什么关系?与使用颜色解释的相同。

在我看来,我所知道的用于密钥交换的基本 DH 方案并没有出现在 ECDHE-RSA 上,而是为每个连接生成了一代新的私钥和公钥。

我的问题是,ECDHE-RSA 方案与安全密钥交换的基本 DH 方案有什么关系?看起来 ECDHE-RSA 就像使用 AES-RSA 一样,每个连接都有一组新的密钥。Diffie-Hellman 本身似乎无法真正参与到这个过程中。

0 投票
0 回答
76 浏览

security - Otway Rees 密钥交换协议的用例

我正在撰写有关密钥交换协议的研讨会论文。当然,我的首选协议是 DH。其次,我选择了 Otway Rees 协议,因为我发现没有太多文献非常有趣。

所以我做了一些研究,对 OR 协议有了一些基本的了解。我不知怎么找不到的是 Utway-Rees 的应用程序/用例。

在文献中,他们谈论的是它用于各方在不安全的网络中使用 TTP 就密钥达成一致,并且它对于 VPN 来说很常见。但我仍然缺少的一件事是:在哪里实施?它在 TLS/SSL 或 IPSec 中有一些应用吗?

0 投票
1 回答
2975 浏览

networking - 使用 bufio.NewReader(conn) 阅读整条消息

我正在使用 golang 开发一个简单的聊天服务器和客户端。我在阅读来自 net.Conn 的消息时遇到了一些问题。到目前为止,这就是我一直在做的事情:

由于用户按下回车键发送消息,我只需要阅读直到'\n'。但我现在正在研究加密,当在客户端和服务器之间发送公钥时,密钥有时包含'\n',这使得很难获得整个密钥。我只是想知道如何阅读整个消息而不是停留在特定字符上。谢谢!

0 投票
2 回答
3864 浏览

openssl - OpenSSL RSA 提取 .cer 格式的公钥

openSSL用来创建RSA public and private key. 我创建成功,输出是 2 个带有格式private_key.pempublic_key.pem.

因此,要求是公钥需要在 中.cer extensionBase 64 format并以标头开头:-----BEGIN

我做了一些研究,但找不到要转换pemcer

有任何想法吗?谢谢。

P/S:这是我用来生成密钥的脚本:

更新

最后,我找到了解决方案,只为那些需要它的人。

0 投票
1 回答
706 浏览

php - 无法通过 phpseclib 打开 SFTP 连接

我正在尝试通过最新的 phpseclib 版本打开 sftp 连接。

我可以通过 Filezilla 成功连接,在第一次连接尝试时我也被提示接受服务器指纹。

以下是生成的日志:

它们都产生相同的输出:

但就是这样。在这些初始化消息之后它只是失败了。据我所见/理解,他们都使用密钥交换算法,每一端都应该理解,比如diffie-hellman-group-exchange-256

那么问题是什么,为什么它不发送NET_SSH2_MSG_KEXDH_INIT消息?

0 投票
1 回答
582 浏览

c# - 如何验证在 Android 中生成的 .net 中的签名

问题如下:

  • 我在 Android (Xamarin.Droid) 中生成密钥:

    /li>
  • 然后我生成一个签名:

    /li>
  • 我将密钥和签名发送到 ASP.net wep API 2 服务器。客户端响应生成:

    /li>

我使用 Refit Nugget 发送它。这是我在服务器端收到 HTTPRequest 时使用的代码:

每个布尔值都是错误的。我认为问题显然出在公钥上。问题是,

  1. 方法 publickey.encode() 做我想的吗?我认为它将我的公钥转换为 byte[] 表示(来源:Android 开发人员 Key Info

  2. 我是否将收到的密钥的字节 [] 表示形式转换为正确的 RSA 密钥?

  3. 算法有问题吗?我不这么认为,但我们永远不知道...

我找不到解决方案。我搜索了从 .net 或 c# 中的字符串导入公钥的方法,以及将 Android 公钥导出为字符串或字节 [] 的方法,但对于这个具体问题没有太大帮助......

0 投票
1 回答
100 浏览

gnupg - 如何验证我是否真的在使用 GPG 和他的公钥与我的朋友聊天?

我正在通过 Skype 聊天与我的朋友聊天,我想知道对方是否真的是我的朋友 Bob。我有 Bob 的公钥,并且我 100% 确定这是 Bob 的真实公钥。我如何确认这确实是 Bob 和我聊天?

a]我会请那个人给我发一份他签名的文件。然后我将验证签名。

b]我将向该人发送一个由真实 Bob 的公钥签名的文件,并要求他验证该文件。

c]我会给那个人发一份文件,让他签字。然后我会验证他的签名。

我认为选项 A] 是有道理的。我对么?这只是一种假设情况。

0 投票
1 回答
1654 浏览

c# - C# - 将公钥 blob 导入 ECDiffieHellmanCng

我在使用ECDiffieHellmanCng类交换密钥时遇到问题:

第 1 步 - 创建公钥

第 2 步 - 交换并获取私钥

例子

具体来说,它在该方法的这一行失败CreatePrivateKey(...)

错误

System.Security.Cryptography.CryptographicException:“密钥不存在。”

我究竟做错了什么?