问题标签 [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 投票
1 回答
2426 浏览

c - OpenSSL 中的预主密钥和主密钥

我有以下价值观:

  1. 客户端随机字节
  2. 服务器随机字节
  3. 预主秘密

我不想使用 SSL 、 SSL_CTX 等功能。我想要的是,我只有三个数字,我想从中计算主编号。

如何使用 OpenSSL 在 c 中计算主密钥?RFC 中指定的 PRF 的 OpenSSL C 库中是否有任何函数?

谢谢你。

0 投票
0 回答
1389 浏览

scala - Scala SSH:通过公钥交换连接到主机

我是 scala 的菜鸟,并试图弄清楚如何使用Scala SSH连接到配置了SSH 客户端密钥/公钥交换的服务器。我的目标是使用正确的客户端密钥配置创建与服务器的成功 SSH 连接,而无需在应用程序中提供密码。在没有正确客户端密钥配置的服务器的情况下,期望用户已经设置了正确的主机配置文件。这是我到目前为止所拥有的:

现在,如果我在拥有适当的主机配置文件时使用该代码段连接到主机,它就可以工作。但是,有几件事我无法弄清楚:

  1. 在配置了客户端密钥且没有主机文件的主机的情况下,代码块不会执行
  2. 错误出现在左侧投影中(对我来说很奇怪,为什么不是异常?似乎很容易错过错误)
    • 如果我为配置了客户端密钥的主机使用主机配置文件,但提供该login-type: keyfile字段并省略密码字段,那么我得到:

LeftProjection(左(由于 net.schmizz.sshj.userauth.UserAuthException:用尽可用的身份验证方法,无法对 server_with_client_keys_configured:22 进行身份验证(使用密钥文件)))

最后,如果这只是 Scala SSH 不支持公钥交换的情况,那么有人可以提出替代方案吗?

0 投票
1 回答
424 浏览

security - Ephemeral Diffie-Hellman 需要证书吗?

在 Ephemeral Diffie-Hellman 中,每次都会生成密钥对。

在实践中,这是否意味着我永远不需要证书?或者这意味着我每次都需要一个新证书?

0 投票
1 回答
394 浏览

java - 有没有办法使用 javax.net.ssl.SSLServerSocket 指定 Diffie-Hellman 素数的范围?

我正在尝试重现Java 中提出的问题:为什么 SSL 握手会给出“无法生成 DH 密钥对”异常?.

我有一个日志显示此原因的异常:

我正在使用 Axis2 调用 Web 服务。我在 jre/lib/security 中也有“Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files”(但正如在另一篇文章中提到的那样,这对他们不起作用)。

为了重现此问题,我尝试在具有类似环境(也使用 Axis2)的单独部署中托管 Web 服务。这有一个自定义 SSLServerSocketFactory,它正在创建和配置 SSLServerSocket。

使用 Wireshark(以及 javax.net.debug JVM 参数)我可以看到协商的密码套件是 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 但 ServerKeyExchange 中的 Prime DH 服务器参数只有 96 个字节(768 位)。

有什么方法可以将 SSLServerSocket 配置为在握手期间使用更大的素数?

我猜密钥是由 JRE 的 RSA 安全提供程序生成的。我是否需要添加自己的提供程序并将其添加到 jre/lib/security/java.security?

如果这是一个愚蠢的问题,我很抱歉,我一般是 DHE 和密码套件的新手。我只需要知道足以让服务器测试工作(我没有触及客户端实现)。

0 投票
1 回答
1237 浏览

ssh - SSH connection problems in JSch

I am trying to connect to a server using JSch. I get the "Negotiation fail" error. I checked the sshd_config file and got the following info:

The rest of the scripts are commented out. As you see it doesn't mention anything about supported Key Exchange methods. 1. Does this seem to be the problem? or is there any other reason this error shows up? It is very hard for me to get the approval to make changes and test, so I wanted to make sure first and then apply the changes.

Also, this is all I get from the logger:

  1. Is there any other ways to find out the Key Exchange methods supported by the server?
  2. Are there other ways to connect to this server? I need to integrate this into my Java program.
0 投票
1 回答
1285 浏览

perl - Net::SSH::Perl 抛出错误 No kex algorithm at /usr/share/perl5/vendor_perl/Net/SSH/Perl/SSH2.pm 第 92 行

我正在使用 Net::SSH::Perl 连接到 Qlogic 交换机。当它失败并出现以下错误时:

/usr/share/perl5/vendor_perl/Net/SSH/Perl/SSH2.pm 第 92 行没有 kex 算法

代码:

调试输出:

有人可以帮我解决这个问题。相同的代码适用于其他设备,只是这个设备有问题。

谢谢,

加里

0 投票
2 回答
109 浏览

security - 如果密钥交换过程中的密钥被盗怎么办?

我在想象一个密钥交换协议。如果入侵者可以在密钥交换协议期间获得共享密钥,我想知道如何保护连接。

我能做些什么来确保连接安全吗?

谢谢你。

0 投票
0 回答
60 浏览

java - 将加密密钥附加到加密消息并作为一条消息发送

我使用 AES 进行对称加密,使用 RSA 进行对称密钥分发。问题是我最终收到了两条消息。第一个是加密消息。第二个是加密的对称密钥。现在我正在寻找将第二个附加到第一个然后发送一条消息并相应地进行检索。如果可以的话,任何关于从哪里寻找或开始的信息都会很棒。

0 投票
0 回答
1044 浏览

hadoop - 无法让 Oozie ssh-action 工作

0 投票
1 回答
260 浏览

microservices - 微服务架构和公钥发布中的 JWT 验证

我们正在将我们的 Web 应用系统重构为微服务架构。
我们决定对我们的用户进行身份验证,JWT并在其中保存一些授权数据。例如,从令牌的有效负载可以推断出用户是否可以访问某个资源。

我们考虑两种选择:

  1. 每个微服务都会询问签名服务(例如 API 网关)令牌是否有效。
  2. 每个微服务都将持有公钥并验证令牌本身。

在管理公钥的情况下,网关服务如何将其公钥发布给所有其他微服务?

它似乎有很多关于如何设计系统的信息,但没有关于如何实际实现这些东西的信息。