瀏覽代碼

uses erlang-certifi

pull/789/head
Benoit Chesneau 9 年之前
父節點
當前提交
56f8f6d7df
共有 4 個檔案被更改,包括 4 行新增3874 行删除
  1. +1
    -0
      rebar.config
  2. +1
    -0
      src/rebar.app.src
  3. +0
    -3868
      src/rebar_cacerts.erl
  4. +2
    -6
      src/rebar_pkg_resource.erl

+ 1
- 0
rebar.config 查看文件

@ -3,6 +3,7 @@
{deps, [{erlware_commons, "0.15.0"}, {deps, [{erlware_commons, "0.15.0"},
{ssl_verify_hostname, "1.0.5"}, {ssl_verify_hostname, "1.0.5"},
{certifi, "0.1.1"},
{providers, "1.5.0"}, {providers, "1.5.0"},
{getopt, "0.8.2"}, {getopt, "0.8.2"},
{bbmustache, "1.0.4"}, {bbmustache, "1.0.4"},

+ 1
- 0
src/rebar.app.src 查看文件

@ -24,6 +24,7 @@
providers, providers,
bbmustache, bbmustache,
ssl_verify_hostname, ssl_verify_hostname,
certifi,
relx, relx,
inets]}, inets]},
{env, [ {env, [

+ 0
- 3868
src/rebar_cacerts.erl
文件差異過大導致無法顯示
查看文件


+ 2
- 6
src/rebar_pkg_resource.erl 查看文件

@ -133,7 +133,7 @@ ssl_opts(Url) ->
true -> true ->
{ok, {_, _, Hostname, _, _, _}} = http_uri:parse(ec_cnv:to_list(Url)), {ok, {_, _, Hostname, _, _, _}} = http_uri:parse(ec_cnv:to_list(Url)),
VerifyFun = {fun ssl_verify_hostname:verify_fun/3, [{check_hostname, Hostname}]}, VerifyFun = {fun ssl_verify_hostname:verify_fun/3, [{check_hostname, Hostname}]},
CACerts = cacerts(),
CACerts = certifi:cacerts(),
[{verify, verify_peer}, {depth, 2}, {cacerts, CACerts} [{verify, verify_peer}, {depth, 2}, {cacerts, CACerts}
,{partial_chain, fun partial_chain/1}, {verify_fun, VerifyFun}]; ,{partial_chain, fun partial_chain/1}, {verify_fun, VerifyFun}];
false -> false ->
@ -143,7 +143,7 @@ ssl_opts(Url) ->
partial_chain(Certs) -> partial_chain(Certs) ->
Certs1 = [{Cert, public_key:pkix_decode_cert(Cert, otp)} || Cert <- Certs], Certs1 = [{Cert, public_key:pkix_decode_cert(Cert, otp)} || Cert <- Certs],
CACerts = cacerts(),
CACerts = certifi:cacerts(),
CACerts1 = [public_key:pkix_decode_cert(Cert, otp) || Cert <- CACerts], CACerts1 = [public_key:pkix_decode_cert(Cert, otp) || Cert <- CACerts],
case ec_lists:find(fun({_, Cert}) -> case ec_lists:find(fun({_, Cert}) ->
@ -158,10 +158,6 @@ partial_chain(Certs) ->
extract_public_key_info(Cert) -> extract_public_key_info(Cert) ->
((Cert#'OTPCertificate'.tbsCertificate)#'OTPTBSCertificate'.subjectPublicKeyInfo). ((Cert#'OTPCertificate'.tbsCertificate)#'OTPTBSCertificate'.subjectPublicKeyInfo).
cacerts() ->
Pems = public_key:pem_decode(rebar_cacerts:cacerts()),
[Der || {'Certificate', Der, _} <- Pems].
check_cert(CACerts, Cert) -> check_cert(CACerts, Cert) ->
lists:any(fun(CACert) -> lists:any(fun(CACert) ->
extract_public_key_info(CACert) == extract_public_key_info(Cert) extract_public_key_info(CACert) == extract_public_key_info(Cert)

Loading…
取消
儲存