当前位置:主页>科 研>学术交流>

如何利用Docker生成SSL证书

在今天的文章中,我们将突破依靠主机实现SSL证书的局限,了解如何利用Docker生成此类证书。

当说起“Docker”与“SSL”,很多朋友首先想到的可能是利用SSL证书以保护Docker守护程序自身。没错,这项工作非常重要,但与之相关的指导资料已经相当丰富。今天,我们将反其道而行之,考虑如何利用Docker容器为主机创建SSL证书。



 

  利用Docker生成SSL证书

很多开发者朋友可能压根没想到过这种作法。然而,这是一项非常便捷且极具实用性的技巧。那么让我们首先解答第一个疑问,利用Docker容器生成SSL证书,相对于主机生成有着哪些比较优势?

答案很简单,我们需要在主机上安装合适的工具(例如OpenSSL)才能实现这一任务。如果大家希望让自己的Docker服务器保持整洁,那么OpenSSL这类额外的工具当然是越少越好。另外,大家当然也不希望在生产型Docker服务器上执行证书生成任务。这类工作最好在测试设备上完成——如果各位像我一样利用个人笔记本充当测试设备,那么其中很可能并没有安装OpenSSL或者其它服务器工具。

获取这些工具包虽然并无难度,但我实在不想让自己的笔记本真的变成服务器。我个人喜爱简洁与明确的职能划分,相信不少朋友应该也与我有着同样的偏好。

  立足Docker容器生成SSL证书

相较于在主机之上生成证书,对我来说能利用Docker容器创建SSL证书实在是种很赞的体验。流程非常简单,只需要如下几个步骤。

首先是利用Docker Hub Nginx镜像提取一套支持SSL证书创建的容器镜像。这套镜像已经内置有OpenSSL。(如果大家的镜像中尚不包含OpenSSL,则可自行添加或者在其启动时进行安装。)

作为示例,大家可以运行:

docker pull nginx

接下来,我们需要创建一条私钥与证书签署请求,命令如下:

docker run -v $PWD:/work -it nginx openssl req -out /work/CSR.csr -new

-newkey rsa:2048 -nodes -keyout /work/privateKey.key

可以看到,主机上的工作目录内已经包含有privateKey.key与CSR.csr两个文件。如果大家打算使用二者创建一份自签名证书,则可运行以下命令:

docker run -v $PWD:/work -it nginx openssl req -x509 -sha256 -nodes

-days 365 -newkey rsa:2048 -keyout privateKey.key -out

/work/certificate.crt

现在自签名证书certificate.crt已经存在于主机上的工作目录内了。

就是这么简单,无需在主机系统之上运行OpenSSL,我们已经成功利用OpenSSL创建了一份SSL证书。

  进一步探索

大家可以利用以上命令实现更多其它功能。特别是如果各位希望以自动化方式为Docker主机或者容器创建SSL证书,则可以将以上合作整合进Dockerfile,而后利用Codefresh在Docker化应用内实现SSL证书生成。

很明显,Docker容器能够带来较主机更为快速且便捷的证书生成机制。如此简单明了的生成流程,大家还有什么理由不使用SSL证书进行加密呢?

原文链接:https://dzone.com/articles/using-docker-to-generate-ssl-certificates

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

如何避免成为下一个雅虎?企业CIO/CISO应该

如何避免成为下一个雅虎?企业CIO/CISO应该问这八个问题

CIO / CISO应该要求网络架构师保持安全的问题。它不再关心你是否会受到攻击,而是要知...[详细]

如何选择一家好的“安全即服务”提供商?先

如何选择一家好的“安全即服务”提供商?先问他这20个问题

安全即服务(security-as-a-service)的概念已逐渐根植于许多人的思想中。其实这也不难...[详细]

从漏洞利用工具到零日漏洞:网络黑市大全

从漏洞利用工具到零日漏洞:网络黑市大全

地下世界充斥各种外人听不懂的行话和俚语。加壳器,就是加密恶意软件以规避反病毒引擎...[详细]

12年前的SSH漏洞还能用?物联网设备的安全

12年前的SSH漏洞还能用?物联网设备的安全令人堪忧

 随着信息安全技术的不断发展,物联网设备也逐渐成为了攻击者手中的一种攻击利器。据...[详细]

安全领域新概念:安全评级服务的兴起

安全领域新概念:安全评级服务的兴起

Gartner最近的报告中出现了一种安全领域的新概念——安全评级服务(SRS, Security Rati...[详细]

返回首页 返回顶部