Docker远程客户端上的TLS安全

我正在编写一个客户端,使用Docker的Remote API来使用公开的REST服务。 我想保护客户端和服务器之间的通信。 我不完全熟悉证书处理。 我已经以编程方式将包含服务器公共证书的信任存储包含在我的客户端中。 我知道我必须遵循同样的方法。 但是在阅读了Docker的相关文档之后,我感到有点困惑:

http://docs.docker.com/articles/https/ 

我知道我必须生成两组密钥,一个用于服务器,另一个用于客户端。 按照在docker的文档中写的步骤,我产生了以下内容:

 MacBook-Pro:misc Joe$ ls -l total 40 -rw-r--r-- 1 Joe staff 1743 Nov 19 23:06 ca-key.pem -rw-r--r-- 1 Joe staff 1346 Nov 19 23:06 ca.pem -rw-r--r-- 1 Joe staff 1743 Nov 19 23:10 key.pem -rw-r--r-- 1 Joe staff 0 Nov 19 23:14 server-cert.pem -rw-r--r-- 1 Joe staff 1751 Nov 19 23:07 server-key.pem -rw-r--r-- 1 Joe staff 907 Nov 19 23:13 server.csr 

ca-key.pem和ca.pem之间的区别是什么?同样,server-cert.pem和server-key.pem是什么? 哪些去服务器,哪些是客户端?

但无论如何,尝试以下给我一个错误:

 MacBook-Pro:misc Joe$ openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -out server-cert.pem Signature ok subject=Dummy Getting CA Private Key Enter pass phrase for ca-key.pem: ca.srl: No such file or directory 6502:error:02001002:system library:fopen:No such file or directory:/SourceCache/OpenSSL098/OpenSSL098-44/src/crypto/bio/bss_file.c:356:fopen('ca.srl','r') 6502:error:20074002:BIO routines:FILE_CTRL:system lib:/SourceCache/OpenSSL098/OpenSSL098-44/src/crypto/bio/bss_file.c:358: