aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2007-02-24 00:34:44 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2007-02-24 00:34:44 +0000
commit87f0656c3906f2402a6372afb7340ea451e509d8 (patch)
treed7ab9fd6a08c0ab91342624e12575622e81dee79 /src
parent7d203c3b7564032505faf76edbafbc31839cdd5a (diff)
downloadstrongswan-87f0656c3906f2402a6372afb7340ea451e509d8.tar.bz2
strongswan-87f0656c3906f2402a6372afb7340ea451e509d8.tar.xz
listing ca_info items
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/crypto/ca.c67
1 files changed, 28 insertions, 39 deletions
diff --git a/src/libstrongswan/crypto/ca.c b/src/libstrongswan/crypto/ca.c
index b40d244cc..d7e46f0c8 100644
--- a/src/libstrongswan/crypto/ca.c
+++ b/src/libstrongswan/crypto/ca.c
@@ -23,7 +23,7 @@
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
-#include <printf.h>
+#include <stdio.h>
#include "ca.h"
@@ -56,27 +56,17 @@ struct private_ca_info_t {
/**
* Distinguished Name of the CA
*/
- identification_t *authName;
-
- /**
- * Authority Key Identifier
- */
- chunk_t authKeyID;
-
- /**
- * Authority Key Serial Number
- */
- chunk_t authKeySerialNumber;
+ x509_t *cacert;
/**
* List of crlDistributionPoints
*/
- linked_list_t *crlDistributionPoints;
+ linked_list_t *crlURIs;
/**
* List of ocspAccessPoints
*/
- linked_list_t *ocspAccessPoints;
+ linked_list_t *ocspURIs;
};
/**
@@ -88,12 +78,12 @@ static void add_crluri(private_ca_info_t *this, const char* uri)
{
return;
}
- if (!strncasecmp(uri, "http", 4)
- && !strncasecmp(uri, "ldap", 4)
- && !strncasecmp(uri, "file", 4)
- && !strncasecmp(uri, "ftp", 3))
+ if (strncasecmp(uri, "http", 4) != 0
+ && strncasecmp(uri, "ldap", 4) != 0
+ && strncasecmp(uri, "file", 4) != 0
+ && strncasecmp(uri, "ftp", 3) != 0)
{
- DBG1(" invalid CRL URI: '%s'", uri);
+ DBG1(" invalid crl uri '%s'", uri);
return;
}
}
@@ -107,9 +97,9 @@ static void add_ocspuri(private_ca_info_t *this, const char* uri)
{
return;
}
- if (!strncasecmp(uri, "http", 4))
+ if (strncasecmp(uri, "http", 4) != 0)
{
- DBG1(" invalid OCSP URI: '%s'", uri);
+ DBG1(" invalid ocsp uri '%s'", uri);
return;
}
}
@@ -119,13 +109,10 @@ static void add_ocspuri(private_ca_info_t *this, const char* uri)
*/
static void destroy(private_ca_info_t *this)
{
- this->crlDistributionPoints->destroy_offset(this->crlDistributionPoints,
- offsetof(identification_t, destroy));
- this->ocspAccessPoints->destroy_offset(this->ocspAccessPoints,
- offsetof(identification_t, destroy));
- DESTROY_IF(this->authName);
- free(this->authKeyID.ptr);
- free(this->authKeySerialNumber.ptr);
+ this->crlURIs->destroy_offset(this->crlURIs,
+ offsetof(identification_t, destroy));
+ this->ocspURIs->destroy_offset(this->ocspURIs,
+ offsetof(identification_t, destroy));
free(this->name);
free(this);
}
@@ -139,7 +126,8 @@ static int print(FILE *stream, const struct printf_info *info,
private_ca_info_t *this = *((private_ca_info_t**)(args[0]));
bool utc = TRUE;
int written = 0;
- time_t now;
+ x509_t *cacert;
+ chunk_t keyid;
if (info->alt)
{
@@ -151,11 +139,13 @@ static int print(FILE *stream, const struct printf_info *info,
return fprintf(stream, "(null)");
}
- now = time(NULL);
-
- written += fprintf(stream, "%#T, ", &this->installed, utc);
- written += fprintf(stream, "\"%s\"\n", this->name);
- written += fprintf(stream, " authname: '%D'\n", this->authName);
+ written += fprintf(stream, "%#T, \"%s\"\n", &this->installed, utc, this->name);
+
+ cacert = this->cacert;
+ written += fprintf(stream, " authname: '%D'\n", cacert->get_subject(cacert));
+
+ keyid = cacert->get_keyid(cacert);
+ written += fprintf(stream, " keyid: %#B\n", &keyid);
return written;
}
@@ -176,12 +166,11 @@ ca_info_t *ca_info_create(const char *name, const x509_t *cacert)
private_ca_info_t *this = malloc_thing(private_ca_info_t);
/* initialize */
+ this->installed = time(NULL);
this->name = strdup(name);
- this->authName = NULL;
- this->authKeyID = chunk_empty;
- this->authKeySerialNumber = chunk_empty;
- this->crlDistributionPoints = linked_list_create();
- this->ocspAccessPoints = linked_list_create();
+ this->cacert = cacert;
+ this->crlURIs = linked_list_create();
+ this->ocspURIs = linked_list_create();
/* public functions */
this->public.add_crluri = (void (*) (ca_info_t*,const char*))add_crluri;