aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public_key/src/public_key.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2010-09-13 08:52:54 +0200
committerIngela Anderton Andin <[email protected]>2010-09-13 08:52:54 +0200
commit3f336f1b6f2854618146e882b04e8cbc50d1111e (patch)
treef275ef9c49054004e3504d7f9548474a78dcefa1 /lib/public_key/src/public_key.erl
parentf86c89a90a228eed9a58632cc0fb3372b210ec1a (diff)
parent6cced538abd4f8053c009b163efa8c6d568b9580 (diff)
downloadotp-3f336f1b6f2854618146e882b04e8cbc50d1111e.tar.gz
otp-3f336f1b6f2854618146e882b04e8cbc50d1111e.tar.bz2
otp-3f336f1b6f2854618146e882b04e8cbc50d1111e.zip
Merge branch 'ia/public_key-subject-alternative-name/OTP-8825' into dev
* ia/public_key-subject-alternative-name/OTP-8825: Improved certificate extension handling Add handling of SubjectAltName of type otherName
Diffstat (limited to 'lib/public_key/src/public_key.erl')
-rw-r--r--lib/public_key/src/public_key.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/public_key/src/public_key.erl b/lib/public_key/src/public_key.erl
index 68bf04eeff..9c7817fa8e 100644
--- a/lib/public_key/src/public_key.erl
+++ b/lib/public_key/src/public_key.erl
@@ -539,6 +539,7 @@ validate(DerCert, #path_validation_state{working_issuer_name = Issuer,
user_state = UserState0,
verify_fun = VerifyFun} =
ValidationState0) ->
+
OtpCert = pkix_decode_cert(DerCert, otp),
UserState1 = pubkey_cert:validate_time(OtpCert, UserState0, VerifyFun),
@@ -556,10 +557,12 @@ validate(DerCert, #path_validation_state{working_issuer_name = Issuer,
%% We want the key_usage extension to be checked before we validate
%% the signature.
- UserState = pubkey_cert:validate_signature(OtpCert, DerCert,
+ UserState0 = pubkey_cert:validate_signature(OtpCert, DerCert,
Key, KeyParams, UserState5, VerifyFun),
+ UserState = pubkey_cert:verify_fun(OtpCert, valid, UserState0, VerifyFun),
ValidationState =
ValidationState1#path_validation_state{user_state = UserState},
+
pubkey_cert:prepare_for_next_cert(OtpCert, ValidationState).
sized_binary(Binary) when is_binary(Binary) ->