diff options
author | Erlang/OTP <[email protected]> | 2010-09-29 08:44:06 +0200 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-09-29 08:44:06 +0200 |
commit | 2d4a7d86f97aec54b8d0544bfd25d833e4d7420a (patch) | |
tree | 2edea48b407f72f2d1346c15cbaf9261ad9ff3f8 /lib/public_key/src/public_key.erl | |
parent | 8314712874d13fc22291d7f8187f04469b11527f (diff) | |
parent | e501709bec61bf8813cab741b0e39c211c73c89e (diff) | |
download | otp-2d4a7d86f97aec54b8d0544bfd25d833e4d7420a.tar.gz otp-2d4a7d86f97aec54b8d0544bfd25d833e4d7420a.tar.bz2 otp-2d4a7d86f97aec54b8d0544bfd25d833e4d7420a.zip |
Merge branch 'ia/ssl-and-public_key/verify_fun_peer_awarness/OTP-8873' into maint-r14
* ia/ssl-and-public_key/verify_fun_peer_awarness/OTP-8873:
Peer awarness
Diffstat (limited to 'lib/public_key/src/public_key.erl')
-rw-r--r-- | lib/public_key/src/public_key.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl index 902e9ad3c0..d514b9a3aa 100644 --- a/lib/public_key/src/public_key.erl +++ b/lib/public_key/src/public_key.erl @@ -557,9 +557,16 @@ validate(DerCert, #path_validation_state{working_issuer_name = Issuer, %% We want the key_usage extension to be checked before we validate %% the signature. - UserState0 = pubkey_cert:validate_signature(OtpCert, DerCert, + UserState6 = pubkey_cert:validate_signature(OtpCert, DerCert, Key, KeyParams, UserState5, VerifyFun), - UserState = pubkey_cert:verify_fun(OtpCert, valid, UserState0, VerifyFun), + UserState = case Last of + false -> + pubkey_cert:verify_fun(OtpCert, valid, UserState6, VerifyFun); + true -> + pubkey_cert:verify_fun(OtpCert, valid_peer, + UserState6, VerifyFun) + end, + ValidationState = ValidationState1#path_validation_state{user_state = UserState}, |