Tag: ssl

创建证书时IP地址作为主机名(CN)? (HTTPS主机名错误:应该是)

可能重复: 如何解析SSL证书服务器名称/我可以使用keytool添加备用名称吗? 我创建了一个证书,并将CN设置为我的服务器的IP地址,格式为xxx.xxx.xxx.xxx。 但是当我尝试在Java中运行我的代码时,我收到的HTTPS hostname wrong: should be 错误消息。 可能有什么不对? 我确定我正在连接到正确的IP地址。 但是,我没有在证书上指定服务器的端口。 在为CN提供价值时是否需要端口? 但我正在使用https的默认端口8443.此外,我尝试将CN从服务器的IP地址更改为“localhost”。 它在那之后工作。 我在想是否CN部分不接受IP地址作为值? 您能否解释一下CN的工作原理以及它所需的价值是多少? 谢谢!

无法在Jersey中进行基本的http身份validation

我正在尝试使用Jersey 1.X版本连接到安全的外部rest服务。 我使用了以下代码 public class MyRestClient { private static final String API_USER_NAME = “some value”; private static final String API_PASSWORD = “some value”; private static final String REST_URL = “https://”; public static void main(String[] args) { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); client.addFilter(new HTTPBasicAuthFilter(API_USER_NAME, API_PASSWORD)); WebResource webResource = client.resource(UriBuilder.fromUri(REST_URL).build()); ClientResponse response = […]

正确配置Glassfish SSL证书昵称的方法?

Glassfish允许通过其管理控制台设置SSL证书昵称,如下图所示: 但是,几乎Web中的每个教程都提到有必要将所有出现的默认SSL昵称( s1as )替换为domain.xml文件中将使用的昵称(即mydomain.com )。 那么设置证书昵称的正确方法是什么?

java.security.InvalidAlgorithmParameterException:使用cas 时,trustAnchors参数必须为非空

我们在使用cas的tomcat下的应用程序中得到以下exception。 java.security.InvalidAlgorithmParameterException:trustAnchors参数必须为非空 当我谷歌为它,我发现了一些猜测和解决方案,但没有人可以帮助我。 这是我们的tomcat server.xml文件的一部分: 我们指向我们生成的密钥库。

使用SSL与Bouncy Castle进行Android到服务器通信

我知道这不是那么困难,但非常不幸的是我从昨天起就被困在这里并与之斗争,我在Android教程中遵循了这种相互认证 ,将密钥库置于资源中并尝试通过SSL连接到我的服务器,但是得到以下exception java.lang.RuntimeException:org.spongycastle.jcajce.provider.asymmetric.x509.CertificateFactory $ ExCertificateException 我已将sslapptruststore.pfx文件放在res/raw/sslapptruststore.pfx并使用这段代码 try { KeyStore clientCert = KeyStore.getInstance(“PKCS12”); clientCert.load(getResources().openRawResource(R.raw.sslapptruststore), “123456”.toCharArray());// this line causes exception HttpClient httpClient = null; HttpParams httpParams = new BasicHttpParams(); SSLSocketFactory sslSocketFactory = new SSLSocketFactory(clientCert, null, null); SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme(“https”, sslSocketFactory, 8443)); httpClient = new DefaultHttpClient(new ThreadSafeClientConnManager(httpParams, registry), httpParams); HttpPost httpPost = new HttpPost( […]

如何在java 8中将DH密钥大小扩展到2048

我读了很多post说在java 8中可以将DH密钥大小扩展到2048.他们说可以通过将以下值更改为系统属性: jdk.tls.ephemeralDHKeySize到jdk.tls.ephemeralDHKeySize我试图计算在哪里以及如何做到这一点,找不到。 我在哪里可以找到这个变量或属性? 哪个文件? 路径? 我正在使用Windows。

我们可以在密钥库中加载多个证书和密钥吗?

我们可以在密钥库中加载多个证书和密钥吗? 是否始终只需要加载对(即证书和密钥)? 如果密钥库具有多个证书和密钥,当Java SSL尝试将连接建立为服务器时,将选择哪个证书和密钥?

如何做ssl socket编程

我正在通过以下IP地址进行套接字通信,但是我不想在ssl模式下进行通信但是如何更改InetAddress serverAddr = InetAddress.getByName(“192.168.1.2”); 到SSL。 public class TCPClient implements Runnable { public void run() { try { InetAddress serverAddr = InetAddress.getByName(“192.168.1.2”); Log.d(“TCP”, “C: Connecting…”); Socket socket = new Socket(serverAddr,12345); String message = “Hello from Client android emulator”; try { Log.d(“TCP”, “C: Sending: ‘” + message + “‘”); PrintWriter out = new PrintWriter( new BufferedWriter( new […]

在建立安全连接时,没有共同的密码套件

我正在尝试在两个Java项目之间建立安全连接,但我遇到了SSLHandshakeException(没有共同的密码套件)。 这是在两侧创建套接字的方法: 客户: private SSLSocket getSocketConnection() throws SSLConnectionException { try { /* Load properties */ String keystore = properties.getProperty(“controller.keystore”); String passphrase = properties.getProperty(“controller.passphrase”); String host = properties.getProperty(“controller.host”); int port = Integer.parseInt(properties .getProperty(“controller.port”)); /* Create keystore */ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(new FileInputStream(keystore), passphrase.toCharArray()); /* Get factory for the given keystore */ TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); […]

Java中的密钥SSL套接字连接

我正在加密服务器和客户端之间的TCP连接。 在研究和测试过程中,我倾向于使用密钥加密。 我的问题是我找不到任何有关如何实现此function的教程。 我发现的教程围绕一次性https请求,我需要的只是一个SSL Socket。 我到目前为止编写的代码如下。 我几乎可以肯定它需要扩展,我只是不知道如何。 任何帮助表示赞赏。 private ServerSocketFactory factory; private SSLServerSocket serverSocket; factory = SSLServerSocketFactory.getDefault(); serverSocket = (SSLServerSocket) factory.createServerSocket( ); 用于接受客户端连接的服务器代码 SSLSocket socket = (SSLSocket) serverSocket.accept(); socket.startHandshake(); 我只是不知道如何实际握手。 参考: http : //docs.oracle.com/javase/1.5.0/docs/guide/security/jsse/JSSERefGuide.html