aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-12-03 13:51:51 +0100
committerMartin Willi <martin@revosec.ch>2011-01-05 16:45:56 +0100
commitdffb176f2bc09ec1323f60a04f342391a3ab6dad (patch)
treef7453d076281c59f4bc940ebc953a24314019878 /src
parentece5ac2271fcf57da630ce65e27121aec36063b4 (diff)
downloadstrongswan-dffb176f2bc09ec1323f60a04f342391a3ab6dad.tar.bz2
strongswan-dffb176f2bc09ec1323f60a04f342391a3ab6dad.tar.xz
CRLSign keyUsage or CA basicConstraint are sufficient for CRL validation
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/plugins/x509/x509_crl.c2
-rw-r--r--src/pki/commands/signcrl.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/libstrongswan/plugins/x509/x509_crl.c b/src/libstrongswan/plugins/x509/x509_crl.c
index 4bd0470d3..9a0010299 100644
--- a/src/libstrongswan/plugins/x509/x509_crl.c
+++ b/src/libstrongswan/plugins/x509/x509_crl.c
@@ -388,7 +388,7 @@ METHOD(certificate_t, issued_by, bool,
{
return FALSE;
}
- if (!(x509->get_flags(x509) & X509_CA))
+ if (!(x509->get_flags(x509) & (X509_CA | X509_CRL_SIGN)))
{
return FALSE;
}
diff --git a/src/pki/commands/signcrl.c b/src/pki/commands/signcrl.c
index 24bf9123f..87d585363 100644
--- a/src/pki/commands/signcrl.c
+++ b/src/pki/commands/signcrl.c
@@ -262,9 +262,9 @@ static int sign_crl()
goto error;
}
x509 = (x509_t*)ca;
- if (!(x509->get_flags(x509) & X509_CA))
+ if (!(x509->get_flags(x509) & (X509_CA | X509_CRL_SIGN)))
{
- error = "CA certificate misses CA basicConstraint";
+ error = "CA certificate misses CA basicConstraint / CRLSign keyUsage";
goto error;
}
public = ca->get_public_key(ca);