aboutsummaryrefslogtreecommitdiff
path: root/lang/erlang14/files/patch-lib_public__key_src_pubkey__cert.erl
blob: 414f1f9279b82cdf4c21160c8a594428a35737b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

$FreeBSD$

--- lib/public_key/src/pubkey_cert.erl.orig
+++ lib/public_key/src/pubkey_cert.erl
@@ -223,10 +223,15 @@
 %%--------------------------------------------------------------------	
 validate_extensions(OtpCert, ValidationState, UserState, VerifyFun) ->
     TBSCert = OtpCert#'OTPCertificate'.tbsCertificate,
-    Extensions = TBSCert#'OTPTBSCertificate'.extensions,
-    validate_extensions(OtpCert, Extensions, ValidationState, no_basic_constraint,
-			is_self_signed(OtpCert), UserState, VerifyFun).
-
+    case TBSCert#'OTPTBSCertificate'.version of
+       N when N >= 3 ->
+           Extensions = TBSCert#'OTPTBSCertificate'.extensions,
+           validate_extensions(OtpCert, Extensions,
+                               ValidationState, no_basic_constraint,
+                               is_self_signed(OtpCert), UserState, VerifyFun);
+       _ -> %% Extensions not present in versions 1 & 2
+           {ValidationState, UserState}
+    end.
 %%--------------------------------------------------------------------
 -spec normalize_general_name({rdnSequence, term()}) -> {rdnSequence, term()}. 
 %%