Apache Tomcat SSL配置

1     创建OpenSSL自签名证书

1.1    概述

本节简单地展示了SSL的实现原理和证书在整个SSL过程中扮演的角色。

 

普通的WEB以非加密的形式传输数据。这意味着任何人都能够通过嗅探器窥测到所有的数据。显然,这是一个问题,特别是对安全和隐私有高要求的数据,例如:信用卡数据和银行事务数据。安全套接层用于加密WEB服务器和WEB客户端(浏览器)之间传输的数据流。

 

SSL使用所谓的非对称加密技术,通常也称之为公钥加密(PKI)。使用公钥加密,需要创建一个公钥和一个私钥。使用一个密钥加密的数据,只能被另一个密钥解密。使用服务器的私钥进行加密的消息和数据流,只能使用对应的公钥进行解密,这样就能保证客户端收到的数据只来自于特定的服务器。

 

如果SSL使用公钥加密技术加密传输的数据流,为什么还需要一个证书呢?从技术上来讲,证书并不是必需的,因为数据已经被加密,并且很难被第三方解密。尽管如此,证书在通信过程中确实扮演了一个重要的角色。由可信的证书认证机构签名的证书,能够确保证书持有者确实具有他声明的身份。如果没有可信的签名证书,你的数据也会被加密,但是,你通信的机构也许并非你所认为的机构。没有证书,假冒攻击会更加普遍。

1.2    步骤1:生成私钥

openssl工具箱既能够用于生成RSA私钥和CSR(证书签名请求),也能用于生成自签名的证书(主要用于测试和内部使用)。

 

第一步生成RSA私钥。RSA私钥是一个1024位的RSA密钥,使用Triple-DES加密,以PEM格式存储,这样该私钥就是一个可读的ASCII文本。生成RSA私钥命令行如下:

$ opensslgenrsa -des3 -out localhost_server.key 1024

GeneratingRSA private key, 1024 bit long modulus

..............................................................................++++++

.++++++

e is 65537(0x10001)

Enter passphrase for localhost_server.key:changeit

Verifying - Enter pass phrase for localhost_server.key:changeit

1.3    步骤2:生成CSR(证书签名请求)

一旦生成了私钥,就可以生成证书签名请求了。CSR有两种使用方式。理想情况下,将CSR发送给Thawte或Verisign等证书认证机构,证书认证机构将会验证请求者的身份并签署一个签名的证书。第二种方式是自签名CSR,这个将在1.5节进行演示。

 

在CSR的生成过程中,你需要输入一些信息。这些信息是证书的X.509属性。其中一个信息是“Common Name(例如你的名字)”。该信息最好填入受保护服务器的完全限定域名。如果受保护的站点是https://public.akadia.com,那么该信息填入public.akadia.com。生成CSR的命令行如下:

$ openssl req -new -key localhost_server.key -out localhost_server.csr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值