首先,源密钥库是JSSE规范的JKS格式,存在的也只是自签名证书;
其次,获取目标为openssl格式的私钥以及自签名证书,供nginx开放ssl测试用;
1,生成JKS格式密钥库,含自签名证书:
keytool -genkey -v -alias merrick -keyalg RSA -storetype JKS -keystore test1.jks -dname "CN=localhost,OU=merrick,O=COMPANY,L=CZ,ST=JS,C=CN" -storepass 123456 -keypass 123456 -validity 3650
2,把JKS格式的密钥库转为PKCS12格式的密钥库:
keytool -importkeystore -srckeystore test1.jks -destkeystore test1.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456 -srcalias merrick -destalias merrick -srckeypass 123456 -destkeypass 123456 -noprompt
查看:keytool -list -v -keystore test1.p12
3,导出二进制der证书:
keytool -export -alias merrick -keystore test1.p12 -storepass 123456 -file test1.cer
查看:keytool -printcert -v -file test1.cer
4,openssl生成文本格式私钥,无密码:
openssl pkcs12 -in test1.p12 -nocerts -nodes -out test1.key -passin pass:123456
5,openssl生成文本格式证书:
openssl x509 -inform der -in test1.cer -out test1.crt
6,nginx有关https配置:
nginx.conf配置:
ssl_certificate test1.crt;
ssl_certificate_key test1.key;
7,实际商业部署的需要第三方的证书认证机构签发流程的情况,以上步骤不适用。
相关推荐
- `-keystore /root/nsp.keystore`:指定了密钥库的存储路径及文件名为 `/root/nsp.keystore`。 ##### 2. 导入证书 接下来需要将生成的证书导入到证书信任库中,以便 Tomcat 能够识别并使用该证书。 **命令示例**...
1. **加载密钥库(KeyStore)**:使用KeyStore类加载包含私钥和证书的文件,设置密钥库类型(如JKS或PKCS12),以及密钥库和密钥密码。 2. **创建KeyManager**:使用KeyManagerFactory创建KeyManager实例,传入加载...
1. **创建KeyManager和TrustManager**:根据应用需求,可以创建自定义的KeyManager和TrustManager,比如加载特定的密钥库或信任库,或者自定义证书验证逻辑。 2. **配置SSLContext**:使用`SSLContext.init()`方法...
OpenSSL是一个开源的库,包含了实现SSL/TLS协议所需的工具和代码。它提供了加密算法、密钥生成、证书管理以及SSL/TLS连接等功能。OpenSSL不仅支持SSL/TLS协议,还支持多种加密算法,如RSA、DSA、ECC等。 在Java中,...
最后,将根证书和服务器证书导入到密钥库文件 `app_server.jks` 和信任密钥库文件 `app_trust.jks` 中: ```bash keytool -import -v -trustcacerts -keypass boncme -storepass boncme -alias ca_root -file cacert...
而OpenSSL是一个开源库,包含了各种加密算法、证书操作等功能,常用于生成和管理证书。 制作CA证书的步骤大致如下: 1. **生成私钥**:私钥是证书的核心,用于解密由公钥加密的数据和签署数字签名。使用OpenSSL,...
2. **证书存储**:管理本地密钥库(KeyStore),如JKS或PKCS12格式,用于存储私钥和证书。`java.security.KeyStore`类提供了与密钥库交互的接口。 3. **证书验证**:使用`java.security.cert.CertificateFactory`来...
服务端需要 KeyStore,其中保存服务端的私钥和证书,Trust KeyStore 中保存客户端的授权证书。客户端需要 KeyStore,其中保存客户端的私钥和证书,Trust KeyStore 中保存服务端的授权证书。 生成服务端私钥和证书...
在Java程序中使用SSL时,通常需要使用OpenSSL生成所需的证书和密钥。 **4. 使用OpenSSL生成密码** - **生成RSA密钥对**:使用`openssl genpkey`命令生成RSA私钥,`openssl rsa`可用来查看或修改私钥。 - **创建自...
Java密钥库(Keystore)是Java安全体系中的一个重要概念,用于存储用户的公钥、私钥和证书。Keystore文件可以保护用户的身份信息,如数字证书,以及用于加密和解密数据的密钥。Java提供了一个内置的命令行工具`...
- `cfcakeystore_client.jks`, `cfcakeystore_server.jks`: JKS文件,Java密钥库,分别包含客户端和服务器的证书和私钥。 - `cfca_server.key`: 可能是服务器的私钥文件,不包含证书。 - `cfca_server.p12`: PKCS...
5. **数据存储**:使用Java内置工具,证书信息被安全地存储在数据库中,这可能涉及到JKS(Java Key Store)或PKCS12等密钥库格式,确保了证书和私钥的安全管理。 6. **界面友好**:作为“精品”软件,它可能拥有...
2. **KeyManagers和TrustManagers**:JSSE中的KeyManager处理密钥和证书的选择,而TrustManager负责验证连接对方的证书。开发者可以通过自定义KeyManager和TrustManager的实现来定制SSL连接的行为,例如动态选择证书...
Java 的 SSL/TLS 支持是通过其内置的 JSSE (Java Secure Socket Extension) 实现的,但有时开发者可能会选择使用 OpenSSL 与 Java 集成,以利用 OpenSSL 提供的更广泛的功能和性能优势。 在 Java 中使用 OpenSSL,...
Java Keytool是一个强大的工具,主要用于管理和操作密钥对和数字证书,这些是Java安全框架中的核心元素。在Java Secure Socket Extension (JSSE) 中,它扮演着创建和管理KeyStore和TrustStore的角色,以实现SSL/TLS...
Keystore可以是JKS(Java Key Store)或PKCS#12格式,用于保存用户的私钥和证书链。 教程可能涵盖了以下几个关键知识点: 1. **Java Keystore管理**:如何创建、导入、导出和管理Keystore,包括使用`keytool`...
`pfx`文件是一种包含私钥和公钥证书的二进制格式,通常用于存储个人身份信息,包括证书链。`jks`(Java KeyStore)是Java平台用于存储密钥对和证书的容器。在Java中,我们通常使用`KeyManager`和`TrustManager`来...
密钥对包括一个公钥和一个私钥,公钥用于加密数据,私钥用于解密数据。 2. **TrustManager**:用于管理信任的证书库,它在握手过程中验证对方的身份。如果证书未被信任,TrustManager会抛出异常。 3. **SSLContext...
若使用其他版本的Java,需从官方网站下载并安装JSSE。文中所有示例均基于J2SE 1.4进行测试。 #### 七、总结 通过本篇文章的学习,我们可以了解到JSSE是如何帮助开发者构建安全的网络应用的。从创建KeyStore和Trust...