HTTPS和证书 - 跟进问题

时间:2009-12-27 02:47:47

标签: open-source https ssl-certificate

这是我之前提出的问题的后续问题。 Authentication based on Certificates and IP

我正在尝试为一家非常小的公司做这件事,并且只想依靠开源资源。请考虑到我绝对(100%)新的安全证书和安全协议的事实。

a)如何为测试目的创建SSL证书。 (我可以考虑使用付费方式进行制作,但是一旦我完成了工作POC。)

b)如何在我有权访问POC的四台机器上安装证书。其中两个是Win-XP,另外两个是Win-7。

c)我不认为我拥有的服务器(tomcat和glassfish)支持HTTPS,那么有没有已知的开源解决方案呢?

d)此外,我必须找出如何添加证书,但这很大程度上取决于我最终得到的服务器。有没有与此相关的文件。

1 个答案:

答案 0 :(得分:0)

按照您提出的顺序回答您的问题。由于您未提及要实施解决方案的环境,因此我将尽力使此答案尽可能通用。

  • 创建自己的自签名证书,仅用于测试检查here。您可以使用download提供的“OpenSSL”套件。
  • 我不确定如何在win XP / Win 7下安装自签名证书,因为他们更有可能拒绝他们,因为他们不是“授权”,也不是由Thawte等证书颁发机构签名,也许在那里是那些可以正确回答这个问题的人,可能是一个注册表黑客/技巧,以欺骗Windows认为它是一个“真正的”证书。
  • Apache是最着名的开源Web服务器,它支持运行HTTPS协议(通常在端口443上运行)。如果您正在运行此Apache,那么只需对配置httpd.conf进行简单调整即可运行...以此为例
#LoadModule ssl_module modules/mod_ssl.so

... Further info cut out ...

# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf

#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

上面的行LoadModule需要取消注释,并且需要重新启动Apache才能重新读取配置并对其进行更改。此外,您可以获取包含Apache,MySql和xampp的xampp。适用于Windows的Php / Perl堆栈。有关详细信息,请参阅here。如果您正在运行Linux环境,那么通过发出以下两个命令快速检查Apache是​​否确实已安装:

ps -elf | grep httpd
ls -l /etc/httpd/httpd.conf

(第一个命令检查httpd进程是否正在运行,第二个命令检查如果安装了Apache,是否存在配置文件。

  • 最后,添加证书基本上取决于如上所述的添加方式,这是第二个问题的答案。