Updated x509 plugin to the new builder API

This commit is contained in:
Martin Willi
2009-09-10 16:20:21 +02:00
parent 91ef5c66ab
commit d73f453c29
11 changed files with 429 additions and 625 deletions
+23 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008 Martin Willi
* Copyright (C) 2008-2009 Martin Willi
* Hochschule fuer Technik Rapperswil
*
* This program is free software; you can redistribute it and/or modify it
@@ -23,6 +23,7 @@
typedef struct x509_cert_t x509_cert_t;
#include <credentials/builder.h>
#include <credentials/certificates/x509.h>
/**
@@ -37,11 +38,29 @@ struct x509_cert_t {
};
/**
* Create the building facility for x509 certificates
* Load a X.509 certificate.
*
* This function takes a BUILD_BLOB_ASN1_DER.
*
* @param type certificate type, CERT_X509 only
* @return builder instance to build certificate
* @param args builder_part_t argument list
* @return X.509 certificate, NULL on failure
*/
builder_t *x509_cert_builder(certificate_type_t type);
x509_cert_t *x509_cert_load(certificate_type_t type, va_list args);
/**
* Generate a X.509 certificate.
*
* To issue a self-signed certificate, the function takes:
* BUILD_SUBJECT, BUILD_SUBJECT_ALTNAMES, BUILD_SIGNING_KEY, BUILD_X509_FLAG,
* BUILD_NOT_BEFORE_TIME, BUILD_NOT_AFTER_TIME, BUILD_SERIAL, BUILD_DIGEST_ALG.
* To issue certificates from a CA, additionally pass:
* BUILD_SIGNING_CERT and BUILD_PUBLIC_KEY.
*
* @param type certificate type, CERT_X509 only
* @param args builder_part_t argument list
* @return X.509 certificate, NULL on failure
*/
x509_cert_t *x509_cert_gen(certificate_type_t type, va_list args);
#endif /** X509_CERT_H_ @}*/