问题标签 [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.
encryption - 将 .pub 公钥证书转换为 .ASC
我对加密/解密领域完全陌生,在问这个问题之前我搜索了很多(虽然是一个非常基本的问题)。
我们有一个用户以 .pub 格式发送了他的公钥证书。我们需要将其转换为 .asc 才能通过 Kleopatra 导入我们的系统,以便我们可以加密文件并将其发送给他。我尝试使用我在网上找到的多个命令,但它们似乎都不起作用。
有没有办法做到这一点?
PS:我们使用Windows作为我们的环境。
java - TLS 服务器密钥交换消息的详细信息
这与我关于 DH 参数的其他问题(没有得到任何答案)基本相同,但我有兴趣获取有关在 TLS 握手期间发送的 TLS 服务器密钥交换消息的信息。
这些消息——或者来自它们的信息,如协商的临时密钥——是否可以通过 Java API 获得?我正在使用 JavaSSLSocketFactory
获取一个SSLSocket
然后使用它进行连接;在它之上没有其他 API(如 Apache http-client),我必须突破才能达到这个水平。
我只是不确定Java是否完全公开了这些信息。我尝试使用 a HandshakeCompletedListener
,但这似乎没有为我提供我所寻求的任何信息。
有谁知道是否/如何做到这一点?
cryptography - ECDHE-RSA 是否与基本 DH 方案相关?
在仔细阅读该主题后,我知道 ECDHE-RSA 如何通过为每个会话创建一组新的私钥和公钥来提供 PFS。
然而我无法理解的是,这个方案与基本的 DH 方案有什么关系?与使用颜色解释的相同。
在我看来,我所知道的用于密钥交换的基本 DH 方案并没有出现在 ECDHE-RSA 上,而是为每个连接生成了一代新的私钥和公钥。
我的问题是,ECDHE-RSA 方案与安全密钥交换的基本 DH 方案有什么关系?看起来 ECDHE-RSA 就像使用 AES-RSA 一样,每个连接都有一组新的密钥。Diffie-Hellman 本身似乎无法真正参与到这个过程中。
security - Otway Rees 密钥交换协议的用例
我正在撰写有关密钥交换协议的研讨会论文。当然,我的首选协议是 DH。其次,我选择了 Otway Rees 协议,因为我发现没有太多文献非常有趣。
所以我做了一些研究,对 OR 协议有了一些基本的了解。我不知怎么找不到的是 Utway-Rees 的应用程序/用例。
在文献中,他们谈论的是它用于各方在不安全的网络中使用 TTP 就密钥达成一致,并且它对于 VPN 来说很常见。但我仍然缺少的一件事是:在哪里实施?它在 TLS/SSL 或 IPSec 中有一些应用吗?
networking - 使用 bufio.NewReader(conn) 阅读整条消息
我正在使用 golang 开发一个简单的聊天服务器和客户端。我在阅读来自 net.Conn 的消息时遇到了一些问题。到目前为止,这就是我一直在做的事情:
由于用户按下回车键发送消息,我只需要阅读直到'\n'。但我现在正在研究加密,当在客户端和服务器之间发送公钥时,密钥有时包含'\n',这使得很难获得整个密钥。我只是想知道如何阅读整个消息而不是停留在特定字符上。谢谢!
openssl - OpenSSL RSA 提取 .cer 格式的公钥
我openSSL
用来创建RSA
public and private key
. 我创建成功,输出是 2 个带有格式private_key.pem
和public_key.pem
.
因此,要求是公钥需要在 中.cer
extension
,Base 64 format
并以标头开头:-----BEGIN
我做了一些研究,但找不到要转换pem
为cer
有任何想法吗?谢谢。
P/S:这是我用来生成密钥的脚本:
更新
最后,我找到了解决方案,只为那些需要它的人。
php - 无法通过 phpseclib 打开 SFTP 连接
我正在尝试通过最新的 phpseclib 版本打开 sftp 连接。
我可以通过 Filezilla 成功连接,在第一次连接尝试时我也被提示接受服务器指纹。
以下是生成的日志:
它们都产生相同的输出:
但就是这样。在这些初始化消息之后它只是失败了。据我所见/理解,他们都使用密钥交换算法,每一端都应该理解,比如diffie-hellman-group-exchange-256
那么问题是什么,为什么它不发送NET_SSH2_MSG_KEXDH_INIT消息?
c# - 如何验证在 Android 中生成的 .net 中的签名
问题如下:
我在 Android (Xamarin.Droid) 中生成密钥:
/li>然后我生成一个签名:
/li>我将密钥和签名发送到 ASP.net wep API 2 服务器。客户端响应生成:
/li>
我使用 Refit Nugget 发送它。这是我在服务器端收到 HTTPRequest 时使用的代码:
每个布尔值都是错误的。我认为问题显然出在公钥上。问题是,
方法 publickey.encode() 做我想的吗?我认为它将我的公钥转换为 byte[] 表示(来源:Android 开发人员 Key Info)
我是否将收到的密钥的字节 [] 表示形式转换为正确的 RSA 密钥?
算法有问题吗?我不这么认为,但我们永远不知道...
我找不到解决方案。我搜索了从 .net 或 c# 中的字符串导入公钥的方法,以及将 Android 公钥导出为字符串或字节 [] 的方法,但对于这个具体问题没有太大帮助......
gnupg - 如何验证我是否真的在使用 GPG 和他的公钥与我的朋友聊天?
我正在通过 Skype 聊天与我的朋友聊天,我想知道对方是否真的是我的朋友 Bob。我有 Bob 的公钥,并且我 100% 确定这是 Bob 的真实公钥。我如何确认这确实是 Bob 和我聊天?
a]我会请那个人给我发一份他签名的文件。然后我将验证签名。
b]我将向该人发送一个由真实 Bob 的公钥签名的文件,并要求他验证该文件。
c]我会给那个人发一份文件,让他签字。然后我会验证他的签名。
我认为选项 A] 是有道理的。我对么?这只是一种假设情况。
c# - C# - 将公钥 blob 导入 ECDiffieHellmanCng
我在使用ECDiffieHellmanCng类交换密钥时遇到问题:
第 1 步 - 创建公钥
第 2 步 - 交换并获取私钥
例子
具体来说,它在该方法的这一行失败CreatePrivateKey(...)
:
错误
System.Security.Cryptography.CryptographicException:“密钥不存在。”
我究竟做错了什么?