aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public_key/src/public_key.erl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2010-09-29 08:44:06 +0200
committerErlang/OTP <[email protected]>2010-09-29 08:44:06 +0200
commit2d4a7d86f97aec54b8d0544bfd25d833e4d7420a (patch)
tree2edea48b407f72f2d1346c15cbaf9261ad9ff3f8 /lib/public_key/src/public_key.erl
parent8314712874d13fc22291d7f8187f04469b11527f (diff)
parente501709bec61bf8813cab741b0e39c211c73c89e (diff)
downloadotp-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.erl11
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},