使用自签名证书将http转换为https

时间:2016-03-07 06:16:04

标签: security http ssl openssl

我想使用自签名证书将我的http请求转换为https。 如何创建我的密钥库文件并在密钥库中添加证书,如何使用此密钥库文件将http转换为https。

请解决此问题

2 个答案:

答案 0 :(得分:0)

不确定这是否有帮助,但将此代码添加到htaccess会将所有http重定向到https:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect "/" "https://www.example.com/"
</VirtualHost >

<VirtualHost *:443>
    ServerName www.example.com
    # ... SSL configuration goes here
</VirtualHost >

答案 1 :(得分:0)

您可以使用KEYTOOL生成密钥对以及下面的Keystore命令将为您提供具有私有/公共密钥对的密钥库

keytool -genkeypair -keysize 2048 -keyalg RSA -alias tempAlias -keystore /temp.keystore -ext SAN=dns:abc.com,dns:localhost,ip:xx.xx.xx.xx

在命令

下生成自签名证书
keytool -export -alias tempAlias -keystore /temp.keystore -file /temp.crt

将证书导入您的trsutstore

keytool -import -alias tempAlias -file PATH_TO_CRT_FILE -keystore PATH_TO_TRUSTSTORE

根据服务器的不同,您可以配置服务器以发出请求HTTPS,例如在tomcat中,您需要将server.xml中的connector标记更新为如下所示

<Connector SSLEnabled="true" 
    clientAuth="false" 
    keystoreFile=PATH_TO_KEYSTORE 
    keystorePass=KEYSTORE_PASSWORD maxThreads="150" 
    port="443" protocol="HTTP/1.1" scheme="https" 
    secure="true" sslProtocol="TLS" 
    truststoreFile=PATH_TO_TRUSTKEYSTORE
    truststorePass=TRUSTSTORE_PASSWORD/>