intra-mart中配置openSSL

    公司一直采用日本NTT DATA公司开发的intra-mart系统进行日常事务管理,有关该产品的详细情况可参考http://www.intra-mart.co.jp 。

    最近公司希望该系统对外开放,以便能随时随地使用该系统。所以安全性成了一个课题,该系统默认安装时是不带SSL功能的,为了使数据传输的安全性,我们必须为服务器提供SSL协议。

    以前没有接触过这方面的东西,而且网上关于intra-mart配置SSL的资料少的可怜,基本没有。经过一天时间的调查,终于解决了问题。

    首先说明一下,公司采用的intra-mart是ver. 6.1,web服务器是Resin ver. 3.0.23,intra-mart完全把Resin Custom化成自己的东西了,不过核心还是 Resin。下面是配置SSL的过程:

    1. 下载OpenSSL并安装  http://gnuwin32.sourceforge.net/packages/openssl.htm

    2. 下载ssleay32.dll       http://sh.itxiazai.com/soft/system/dll/ITxiazai_ssleay32.rar

    3. 下载Resin ver. 3.0.23的专业版并解压  http://www.caucho.com/download/resin-pro-3.0.23.zip

    4.  在intra-mart根目录下建一个文件夹存放有关OpenSSL的动态库,并拷贝相关DLL到该目录下。

         C:/> cd imart

         C:/imart> mkdir ssldll
         C:/imart> copy "C:/downloads/ssleay32.dll" ./ssldll/ssleay32.dll
         C:/imart> copy "C:/Program Files/GnuWin32/bin/libeay32.dll" ./ssldll/libeay32.dll

         C:/imart> copy "C:/resin-pro-3.0.23/win32/resin.dll" ./ssldll/resin.dll

         C:/imart> copy "C:/resin-pro-3.0.23/win32/resin_os.dll" ./ssldll/resin_os.dll

         C:/imart> copy "C:/resin-pro-3.0.23/win32/resinssl.dll" ./ssldll/resinssl.dll

     5. 在intra-mart根目录%IMART_HOME%下建一个 keys 文件夹,%IMART_HOME%/keys 下新建文件openssl.cnf 内容如下:

         [ req ]
         default_bits            = 1024
         distinguished_name      = req_distinguished_name

         [ req_distinguished_name ]
         C                      = 2 letter Country Code, for example US
         C_default              =
         ST                     = State or Province
         ST_default             =
         L                      = City
         L_default              =
         O                      = Organization Name
         O_default              =
         OU                     = Organizational Unit Name, for example 'Marketing'
         OU_default             =
         CN                     = your domain name, for example www.hogwarts.com
         CN_default             =
         emailAddress           = an email address
         emailAddress_default   =


    6. 建立gryffindor.key

        C:/>cd C:/imart/keys

        C:/imart/keys> "C:/Program Files/GnuWin32/bin/openssl.exe" genrsa -des3 -out gryffindor.key 1024

    7. 建立gryffindor.crt

        C:/>cd C:/imart/keys

        C:/imart/keys> "C:/Program Files/GnuWin32/bin/openssl.exe" req -config ./openssl.cnf -new -key gryffindor.key -x509 -out gryffindor.crt

    8. 配置http.conf,该文件在C:/imart/work/httpd/configuration目录下。

     <!--
    <http host="*" port="8080" server-id="APP:172.26.2.17:8080"/>
     -->

    <http host="*" port="8080" server-id="APP:172.26.2.17:8080">
      <openssl>
        <certificate-file>C:/imart/keys/gryffindor.crt</certificate-file>
        <certificate-key-file>C:/imart/keys/gryffindor.key</certificate-key-file>
        <password>test123</password>
      </openssl>
    </http>


    9. 在系统的环境变量PATH里将SSL相关的库目录C:/imart/ssldll添加进去。

    10. 重启机器,开启intra-mart服务,测试是否成功。

   

    说明: ①配置http.conf时, <certificate-file>和<certificate-key-file> 文件的路径 要用绝对路径;

      ② 配置http.conf时, 添加openssl时,Resin的配置是另外加一个端口,但在intra-mart另加SSL端口不行,没办法只好将原来的端口设成SSL端口了;

      ③Resin的官方文档里说还只要libssl32.dll和libeay32.dll库,但根据我的配置,libssl32.dll是不要的,而且还另外加了ssleay32.dll,也许是和版本有关; 

      ④其他的DLL库版本必须和intra-mart中用到的Resin的版本一致,这里是3.0.23专业版。


参考资料:  http://www.caucho.com/resin-3.0/security/ssl.xtp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值