Mac Yosemite上的自签名SSL证书
作为迁移网站以支持HTTPS的系列的一部分,我需要在Mac OS X上创建一个自签名证书。它很简单。以下是你需要做的:
- 创建一个主机密钥
- 创建证书请求
- 创建SSL证书
- 对于apache,创建一个nopass主机密钥
首先,我们将创建一个名为ssl在我们的/etc/apache2文件夹中。
美元cd美元/私人/ etc /输入sudomkdirssl美元cdssl
创建主机密钥
美元sudossh - keygen - f local.example.com.key
你应该得到一条信息:生成公钥/私钥对。,然后要求您提供主机密钥的密码。您可以为密码选择任何内容,或将其留空。
创建证书请求
使用您创建的主机密钥,创建证书请求文件。注意,我使用local.example.com作为文件命名约定。我建议你使用类似的基于你的网站地址。
美元sudoopenssl req -new -key local.example.com.csr
执行此命令后,系统将提示您输入有关该实体/组织/公司的信息。由于这是一个自签名证书,所以这实际上并不重要。所以,输入任何适合您的——除了公用名称(例如服务器FQDN或您的名称)。FQDN,或完全合格的域名,必须匹配网站的URL。在本例中,我们将输入local.example.com。
创建SSL证书
在生产环境中不需要这个下一步。但是,在我的本地开发环境中,我将创建一个自签名证书。这个证书没有权限,我将从浏览器得到一个警告,表明这一点。但是,不需要为本地开发购买SSL证书。在生产环境中,您将向证书颁发机构提交证书请求(csr)文件,然后由该机构为您提供SSL证书。
因此,让我们继续创建自签名证书。如果您按照上面的步骤操作,那么输入以下命令来使用csr文件创建SSL证书。
美元sudoopenssl x509 -要求-天365在local.example.com.csr -signkey local.example.com.key out local.example.com.crt
正如James在下面评论的那样,在创建自签名证书时,我们还可以跳过csr步骤。詹姆斯还为此提供了一条命令:
美元sudoopenssl请求-x509 -节点-天365-newkey rsa:2048 -keyout local.example.com.key out
系统将提示您输入有关您的组织的信息,以及通用名称或完全限定域名(FQDN)。确保它与您正在设置的虚拟主机(或站点)匹配。
创建nopass主机密钥
为了配置Apache,我们需要创建一个nopass密钥。如果您没有为Apache使用此SSL证书,则可能不需要执行最后一步。
美元sudoopenssl rsa - local.example.com.key -out
如果成功运行,您应该得到一个简单的消息:写作RSA密钥。所有的设置。我们现在应该在我们的ssl目录中看到几个文件,我们将使用它们来保护我们的网站。