如何将 TLS 客户端证书与 RubyGems 注册表一起使用?

How to use a TLS client certificate with a RubyGems registry?

我有一个内部 RubyGems 注册表,我想从中下载一些 Gems。注册表受到保护,需要有效的 TLS 客户端证书。

我可以访问 Chrome 中的注册表(将证书包导入 Chrome),但我无法使用 Bundler 完成此操作。

documentationssl_client_cert 必须是:

Path to a designated file containing a X.509 client certificate and key in PEM format.

我在使用提供的证书时遇到以下错误:

either PUB key nor PRIV key: nested asn1 error

如何 assemble 我的证书和密钥?

我终于找到了如何 assemble 文件:

# Concatenate the key and the certificate
openssl rsa -in key.pem > ruby-bundler-cert.pem 
openssl x509 -in cert.pem >> ruby-bundler-cert.pem
# Tell bundler to use the file 
bundle config ssl_client_cert ~/certs/ruby-bundler-cert.pem

你觉得这样就够了吗?不!您还需要在其他地方指定此值:在您的 ~/.gemrc 文件中。

:ssl_client_cert: "/full/path/to/the/certs/ruby-bundler-cert.pem"

希望这对其他人有帮助。