SSL对于用户和Web伺服器之间的安全通信很有用。证书在公共线路上传输时对数据进行加密,这样它就不会受到黑客的攻击。自签名证书是免费使用的,但不在生产环境中使用,例如使用信用卡、Paypal信息的机密数据。本篇文章将介绍关于在Linux系统上的Apache伺服器中创建和安装自签名证书。

步骤1:安装mod_ssl包

要设置SSL证书,请确保在系统上安装了mod_ssl。如果尚未安装,需要使用以下命令进行安装。另外,安装openssl包来创建证书。

1

2

3

步骤2:创建自签名证书

安装mod_ssl和openssl后,使用以下命令为你的域创建一个自签名证书。

1

2

现在创建SSL证书

1

输出

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

上面的命令将在当前目录中创建一个ssl密钥文件example.com.key和一个证书文件example.com.crt。

步骤3:在Apache中安装自签名证书

现在拥有了自签名SSL证书和密钥文件。接下来编辑Apache SSL配置文件并按照以下指令进行编辑/更新。

Apache虚拟主机配置:

1

2

3

4

5

6

7

8

9

10

11

步骤4:重启Apache

如果上面的命令没有显示任何错误,请重新启动Apache服务。

1

2

步骤5:使用https测试网站

最后,使用https在你的Web浏览器中打开你的站点。它需要打开埠443才能使用HTTPS访问站点。

1

当我们使用自签名证书时,你将在浏览器中收到一条警告消息,忽略此消息就可以了。

以上就是如何在Apache中创建和安装自签名证书的详细内容,更多关注博士


实际题主的主要用意应该是通过创建和安装自签名证书配置https,保证http通信中数据的机密性、完整性和放重放攻击。看了一下前面的回答中主要讲了利用openssl生成自签名证书,实际除了openssl工具,还可直接使用Java自带的keytool工具,或者是可以自己编写代码生成数字证书,当然自己编写代码灵活性更高,但是最麻烦。自己写代码的话,可以利用开源的openssl或者是BouncyCastle。本回答主要是针对一般用户,至于如何编写代码实现。在此不展开描述。下面说一下步骤。

第一、创建和安装自签名证书。

1、制作一个根证书(用于签发服务证书)

2、生成一个CSR格式的证书请求文件

************生成公私秘钥对keypair,再生成证书请求server.csr

3、用根证书对证书请求文件做签名,并生成服务证书

4、导出根证书

5、将根证书和伺服器证书导入服务密钥库

第二、配置SSL

现在开始配置tomcat,修改tomcat的目录下的conf/

server.xml

文件

第三、验证是否安装成功,访问https://localhost:8443

本人具有多年的java开发经验,熟悉多种框架,熟悉网路编程,熟悉java安全编程,熟悉大数据,熟悉多种安全协议,熟悉并发编程,有兴趣的同学可以互相关注,互相学习!!!


推荐阅读:
相关文章