相关疑难解决方法(0)

在Play Framework 1.2.7中使用的Netty的SSL处理程序中处理多个证书

我有一个Java密钥库,我为每个客户的子域存储证书.我打算使用服务器别名来区分密钥存储区中的多个客户,如此处所示.Play框架1.2.7使用Netty的SslHandler来支持服务器端的SSL.我尝试实现使用此解决方案的自定义SslHttpServerContextFactory .

import play.Play;

import javax.net.ssl.*;
import java.io.FileInputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.security.KeyStore;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.Security;
import java.security.cert.X509Certificate;
import java.util.Properties;

public class CustomSslHttpServerContextFactory {

  private static final String PROTOCOL = "SSL";
  private static final SSLContext SERVER_CONTEXT;

  static {

    String algorithm = Security.getProperty("ssl.KeyManagerFactory.algorithm");
    if (algorithm == null) {
      algorithm = "SunX509";
    }

    SSLContext serverContext = null;
    KeyStore ks = null;
    try {
      final Properties p = Play.configuration;

      // Try to load it from …
Run Code Online (Sandbox Code Playgroud)

ssl jsse keystore netty playframework-1.x

2
推荐指数
1
解决办法
2233
查看次数

Java KeyStore 类中如何使用别名?

KeyStore 类有一个名为 setCertificateEntry(alias,certificate) 的方法。我看到的大多数客户端示例都使用“ca”作为别名。在客户端与服务器握手期间,服务器是否自动请求“ca”?如果我使用“abc”而不是“ca”,到底会发生什么?问候。

java ssl android ssl-certificate

1
推荐指数
1
解决办法
5086
查看次数