diff options
author | Ingela Anderton Andin <[email protected]> | 2018-08-14 15:52:47 +0200 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2018-08-14 15:52:47 +0200 |
commit | f54e6b513e746344d5252c269b8bb072dd6136a3 (patch) | |
tree | 417f509d9b45e9cace955a9d62696a717da330cb /lib/ssl/src/ssl_pkix_db.erl | |
parent | 80fc5d8bbb7d3fbc626e7206ef8125fd6749a7c6 (diff) | |
parent | e6361e0df384d1b8358955529c1d6f02c694274b (diff) | |
download | otp-f54e6b513e746344d5252c269b8bb072dd6136a3.tar.gz otp-f54e6b513e746344d5252c269b8bb072dd6136a3.tar.bz2 otp-f54e6b513e746344d5252c269b8bb072dd6136a3.zip |
Merge branch 'ingela/ssl/ERL-686/OTP-15224' into maint
* ingela/ssl/ERL-686/OTP-15224:
ssl: Error handling improvment
Diffstat (limited to 'lib/ssl/src/ssl_pkix_db.erl')
-rw-r--r-- | lib/ssl/src/ssl_pkix_db.erl | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/ssl/src/ssl_pkix_db.erl b/lib/ssl/src/ssl_pkix_db.erl index 8828c3a0d8..b6fae36ff9 100644 --- a/lib/ssl/src/ssl_pkix_db.erl +++ b/lib/ssl/src/ssl_pkix_db.erl @@ -157,7 +157,7 @@ extract_trusted_certs(File) -> {error, {badmatch, Error}} end. --spec decode_pem_file(binary()) -> {ok, term()}. +-spec decode_pem_file(binary()) -> {ok, term()} | {error, term()}. decode_pem_file(File) -> case file:read_file(File) of {ok, PemBin} -> @@ -316,11 +316,16 @@ decode_certs(Ref, Cert) -> end. new_trusted_cert_entry(File, [CertsDb, RefsDb, _ | _]) -> - Ref = make_ref(), - init_ref_db(Ref, File, RefsDb), - {ok, Content} = ssl_pem_cache:insert(File), - add_certs_from_pem(Content, Ref, CertsDb), - {ok, Ref}. + case decode_pem_file(File) of + {ok, Content} -> + Ref = make_ref(), + init_ref_db(Ref, File, RefsDb), + ok = ssl_pem_cache:insert(File, Content), + add_certs_from_pem(Content, Ref, CertsDb), + {ok, Ref}; + Error -> + Error + end. add_crls([_,_,_, {_, Mapping} | _], ?NO_DIST_POINT, CRLs) -> [add_crls(CRL, Mapping) || CRL <- CRLs]; |