如何在 Mac OS X 中轻松创建 SSL 证书并在 Apache2 中对其进行配置?

如何在 Mac OS X 中轻松创建 SSL 证书并在 Apache2 中对其进行配置?

我想使用带有 https 的 Mac OS X 进行本地开发测试。如何才能轻松地让 Apache2 响应 SSL,仅用于测试目的 - 我不需要真正的证书,只需要一个假证书来使本地 https 正常工作

答案1

对于本地开发测试,自签名证书就足够了。您可以使用OpenSSL 套件像这样:

生成私钥:

openssl genrsa -des3 -out server.key 1024

输出:

生成RSA私钥,1024位长模数
...........................................................++++++
........++++++
e 是 65537 (0x10001)
输入 PEM 密码:
验证密码-输入 PEM 密码:

输入您的私钥的密码。

生成 CSR(证书签名请求):

openssl req -new -key server.key -out server.csr

它将请求如下详细信息:

国家名称(2 个字母代码)[GB]:
州或省名称(全名)[伯克郡]:
地点名称(例如城市)[纽伯里]:
组织名称(例如公司)[My Company Ltd]:
组织单位名称(例如部门)[]:
通用名称(例如您的姓名或服务器的主机名)[]:
电子邮件地址 []:
请输入以下‘额外’属性
与您的证书请求一起发送
挑战密码[]:
可选的公司名称[]:

它相当简单,通用名称就是您的服务器的主机名,如括号中所示。

生成自签名证书:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

在 httpd.conf 中为 Apache 配置 SSL:

SSLEngine 开启
SSLCertificateFile /path/to/generated/server.crt
SSLCertificateKeyFile /path/to/generated/server.key

(用您的证书和密钥的路径适当地替换路径)

重启 Apache

apachectl restart

Apache 将要求您输入密钥的密码。如果您认为您将经常关闭服务器,则可能需要从密钥中删除密码,以避免每次都输入密码。如果不是,请不要担心。如果是这样,请在步骤 2 之后完成此步骤(生成 CSR):

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key

相关内容