锦上添花:为最佳JSP服务器Resin加上SSL认证

2018-06-23    来源:

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

    Resin主要是作为WEB服务器的jsp/servlets运行平台。它支持许多WEB服务器软件,而且是完全免费的,并提供了对SUN的J2EE的支持,这要比其它相关的java和javascript开发和运行平台要好的多,而且速度非常快,并提供服务器端直接开发、编译和运行。因此,Resin受到了许多应用JSP的WEB站点的支持。

    对于任何一种WEB站点来说,不管使用何种方式的开发平台,运行后最关键的问题之一就是解决服务器与用户之间的安全问题。而对于WEB站点与用户会话过程中数据的机密性保护,目前最好的解决方式主要是使用SSL技术来进行。由于Resin具有的上述优点使得它越来越受欢迎,使用它的WEB站点也就越来越多。

    但是,通常状态下,Resin并不对SSL请求做出任何的回应。如果我们需要使用SSL来增加站点与用户之间的数据传输的安全性,我们就必需经过一系列的操作来让Resin提供对SSL加密的支持。

一、 在WEB服务器中使用OpenSSL套件

1、安装OpenSSL

    想要Resin可以响应SSL请求,我们就必需保证WEB服务器上已经安装好了相关的SSL套件。对于中小企业来说,开源免费的OpenSSL提供与SSL相同的认证功能。

    OpenSSL的Linux版本可以在www.openssl.org网站上下载。现在它的最新版本是OpenSSL 0.9.8j。
Resin通过它的libexec/libresinssl.so JNI库文件提供对OpenSSL的支持。如果是在类Linux系统下使用OpenSSL,在安装时可以通过下列命令将它安装到指定的位置:
./configure --with-openssl=/usr/local/ssl


    如果我们是在Windows系统中使用Resin,那么,我们同样需要在此操作系统下先安装好OpenSSL。Windows下的OpenSSL在www.slproweb.com/products/Win32OpenSSL.html下载,它的最新安装文件是Win32OpenSSL-0_9_8j.exe,其大小为7MB左右。

    在Windows系统下,Resin的resinssl.dll文件中包含提供对OpenSSL支持的代码。(在Resin3.0以前的版本是通过resin.dll文件提供支持的。)因此,在Windows系统下只需要安装好OpenSSL就可以让Resin使用它了。OpenSSL在Windows系统下很容易安装,就如同安装其它的应用程序一样简单。

    不过,在Windows系统下安装完OpenSSL后,还应当将一些需要的DLL文件复制到Resin的根目录当中。现在假设Resin安装在c:esin-3.2.1目录,OpenSSL安装在c:Program FilesGnuWin32目录。现在打开系统开始菜单的“运行”对话框,在运行框中输入CMD命令,回车后进入命令行终端界面。然后在命令行终端下就可以通过下列所示的命令将OpenSSL安装目录下的相关文件复制到Resin的根目录下:
cd resin-3.2.1
copy c:Program FilesGnuWin32inlibssl32.dll c:esin-3.2.1libssl32.dll
copy c:Program FilesGnuWin32inlibeay32.dll c:esin-3.2.1libeay32.dll

2、生成SSL认证私钥

    SSL认证的密钥由OpenSSL来生成,生成后的密钥应当保存到相应的Resin目录中。因此,在生成密钥前,我们可以在Resin根目录中创建一个keys子目录用来保存将要创建的密钥。在类Linux系统下,我们可以通过下列方式来创建keys目录:
cd /resin
mkdir keys

    在Windows系统下,我们可以在资源管理器中直接在Resin根目录下创建一个新文件夹,并命名为keys即可。
在生成密钥时,OpenSSL会根据其配置文件中设置的内容来生成。在类Linux系统下,这个缺省的配置文件可能在usr/ssl/openssl.cnf或/usr/share/ssl/openssl.cnf下。而Windows系统中不存在这样的文件。

    当然,我们还可以自己创建一个相应的配置文件保存到Resin/keys/目录下。这样,在创建密钥时,OpenSSL也会根据这个配置文件中的内容来创建,而且,在创建密钥时不会要求我们根据提示输入缺省的相关信息了。

下面是一个openssl.cnf配置文件的相关内容实例:
[ req ]
default_bits = 1024  #在这里填入加密键的缺省位数
distinguished_name = req的名称
[ req_distinguished_name ]
C = 在这里填入国家的代码,例如CN,代表中国
C_default =
ST = 这里填写州或省名称
ST_default =
L = 城市
L_default =
O = 企业或机构名称
O_default =
OU = 组织中某个部门的名称,例如市场部
OU_default =
CN = 我们的网站域名,必需是全名,例如
www.myweb.com
CN_default =
emailAddress = 联系的E-Mail邮箱地址
emailAddress_default =

    完成OpenSSL配置文件的相关设置后,我们就可以开始为SSL认证创建一个私钥。在WEB服务器上创建私钥时,会要求我们输入相应的密码,这个密码将会在我们使用创建的私钥时要求被输入。因此要牢记这个密码并妥善地保管它。我们还必需将这个密码加入到Resin的配置文件当中。

    在类Linux系统下创建私钥时,私钥的文件名可以由我们自己决定,可以通过下列所示命令来完成:
openssl genrsa -des3 -out myprikey.key 1024
在Windows系统下创建私钥。得先进入命令行终端界面,然后用CD命令切换到OpenSSL安装目录,再用下列命令产生私钥;
c:Program FilesGnuWin32inopenssl.exe  genrsa -des3 -out myprikey.key 1024

标签: linux ssl ssl配置 ssl认证 web服务器 web服务器软件 安全 代码 服务器 服务器端 服务器软件 域名

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:研究人员揭秘黑客高价求购诺基亚1100原委

下一篇:Win32.Troj.mirEliRT