Clojure SSL指定用作客户端证书的本地证书

时间:2014-12-19 21:57:07

标签: ssl clojure

这来自Python“Requests”http库的python文档

“您还可以指定本地证书作为客户端证书,作为单个文件(包含私钥和证书)或作为文件路径的元组”:

>>> requests.get('https://kennethreitz.com', cert=('/path/server.crt', '/path/key'))
<Response [200]>

http://docs.python-requests.org/en/latest/user/advanced/

在Clojure中做同样事情的好方法是什么?我查看了clj-http和http-kit,但没有看到一个例子

1 个答案:

答案 0 :(得分:1)

你见过async-http-client吗?

它具有证书处理you can view here的特定测试。 API docs are here,特别相关的是命名空间http.async.client.cert

从该测试中,加载密钥库和证书的典型示例是:

(def ks-file "test-resources/keystore.jks")
(def cert-file "test-resources/certificate.crt")
(def password "secret")

(defn load-test-certificate [] (load-x509-cert cert-file))
(defn load-test-keystore [] (load-keystore (resource-stream ks-file) password))