- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用 Java 实现一个 DTLS 1.0 客户端,在 谷歌搜索 之后我发现 JSSERefGuide说如下:
The JSSE API is capable of supporting SSL versions 2.0 and 3.0 and TLS version 1.0. These security protocols encapsulate a normal bidirectional stream socket, and the JSSE API adds transparent support for authentication, encryption, and integrity protection. The JSSE implementation shipped with the JDK supports SSL 3.0, TLS (1.0, 1.1, and 1.2) and DTLS (version 1.0 and 1.2). It does not implement SSL 2.0.
所以我认为我可以在不使用任何库(例如 BouncyCaSTLe)的情况下用纯 Java 实现它
但是当我尝试运行时(以及其他一些,如 DTLSv1.2、DTLSv1...):
final SSLContext sslContext = SSLContext.getInstance("DTLSv1.0", "SunJSSE");
它抛出:
Exception in thread "main" java.security.NoSuchAlgorithmException: no such algorithm: DTLSv1.0 for provider SunJSSE
at sun.security.jca.GetInstance.getService(GetInstance.java:87)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
at javax.net.ssl.SSLContext.getInstance(SSLContext.java:199)
例如以下工作:
final SSLContext sslContext = SSLContext.getInstance("TLSv1.2", "SunJSSE");
列出所有安全提供者我根本找不到 DTLS 东西。
那么实际上有 DTLS 实现吗?如果是这样,您应该如何使用它?
最佳答案
您可以使用 https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/test/jdk/javax/net/ssl/DTLS/DTLSOverDatagram.java (或 https://github.com/twosigma/OpenJDK/blob/master/test/jdk/javax/net/ssl/DTLS/DTLSOverDatagram.java ,一样)
对于因为链接而杀死我之前的答案的人:即使链接断开也没有问题 - 因为在查看链接时您会轻松地看到 DTLSOverDatagram 是官方 open-jdk 11 测试的一部分- 因此即使链接消失,您也可以轻松找到其他来源。
虽然这些是针对 DTLS 实现的测试,但只要进行少量重构,就可以将其用作 DTLS over (udp-) 数据报的基础。对于客户端和服务器 - 事实上,它们几乎相同。
关于java - JSSE中是否有DTLS实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47920596/
我正在尝试做基于客户端服务器的 ssl, 这是我的服务器代码: public static void main(String arg[]){ try { KeyStore keyStore =
我找到了介绍 key 生成步骤的教程。它讲述了以下步骤: keytool -genkey -alias clientprivate -keystore client.private -storetyp
在 Java 中使用 JSSE 和 TLS。我在服务器和客户端之间创建了一个安全套接字。在最终让套接字安全连接之后,我仍然对我现有代码的安全性有一个基本问题。我按照教程中的说明进行操作,有时 Java
我正在用 Java 编写一个客户端(需要在桌面 JRE 和 Android 上工作),用于通过 TLS 承载的专有协议(protocol)(特定于我的公司)。我试图找出用 Java 编写 TLS 客户
JSSE 和 JCE 有什么区别。这两者都涉及广泛情况下的加密。我的问题可能没说清楚。由于 JCE 提供了加密功能,我们可以使用它来加密数据,那么为什么我们需要使用 JSSE 来实现也提供加密功能的安
在使用 Windows 上的自定义信任库将我基于 JSSE 的功能 HttpsURLConnection 实现带到 Android 上遇到各种问题后,我遇到了一些我无法得到答案的问题:(Android
我需要通过我的代理(我相信是隧道)建立一个使用 JSSE 建立的 SSL 连接。是否已经有任何库/属性/方法,或者我必须在低级别实现它? 请注意,只需为我的程序的一个子集定义此代理。我程序中的其他 H
我只是在 java 中收集一些关于 SSL/TSL 的信息,因为我们在使用 netty 时甚至不知道我们当前使用的是什么 TLS 协议(protocol)。我们的应用程序在 Java7 上运行,因此
对于大学安全实验室工作,我必须使用 RMI 创建一个简单的客户端/服务器应用程序。对于客户端和服务器之间的安全通信,我想使用 SSL。 Oracle has example所以我尝试使用它。我得到错误
为我的服务器应用程序使用 BouncyCaSTLe FIPS JSSE 和 TLS 提供程序。 org.bouncycastle bcpkix-fips
我正在使用 JSSE 并具有以下代码: private static void setupServerKeystore() throws GeneralSecurityException, IOExc
我有一个 Java 服务器,它接受使用 JSSE 的 SSL 连接,并在流中使用简单的 XML 消息格式。我希望服务器读取完整的消息然后发送回复。事实证明这非常困难,因为 org.xml.sax.XM
我正在编写一个将 SSLEngine 与 NIO 结合使用的应用程序,我同时编写了客户端和服务器。客户端能够连接到服务器,连接后我希望他能够执行 session 恢复/重新协商,但目前运气不好.. 由
我关注了Hardening your web servers ssl ciphers建议使用的指南 ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+A
我正在编写一个使用 SSLEngine 和 NIO 的应用程序,我编写了客户端和服务器。客户端能够连接到服务器,连接后我希望他能够执行 session 恢复/重新协商,但目前没有运气.. 由于使用 S
如果包含一个或多个 PrivateKeyEntry 的 keystore 被指定为信任库,JSSE 是否会根据每个条目中的最终实体证书创建一个信任 anchor ? 换句话说,如果我们有一个包含可信条
我想在 JSSE 中记录客户端发送的 tls 版本、服务器首选版本、服务器首选密码套件等内容。这个怎么做?请注意,我只能使用 Java 代码来执行此操作。不接受解析日志文件。 最佳答案 您可以将 -D
我们正在使用 Maven 2,并且有一个使用 SSL 客户端身份验证保护的 Maven 存储库管理器。为了让 Maven 访问存储库,必须将以下系统属性传递给 Java: javax.net.ssl.
我正在使用 c#-4.0 开发应用程序和 EntireX Broker 9.5.1 我正在尝试转换为 tpcip 连接以使用 ssl。我成功升级了我的 java由于 Java/Software AG
我正在尝试将 jsse.enableSNIExtension 属性设置为 false,但每次尝试时我都会获得 java 手册。 java -Djsse.enableSNIExtension=false
我是一名优秀的程序员,十分优秀!