diff options
author | Martin Willi <martin@revosec.ch> | 2010-07-13 13:34:04 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2010-07-13 13:53:20 +0200 |
commit | 0406eeaacb9c9f927cd1625a2cda72427be9a6dc (patch) | |
tree | b102097d6db3f9455a223ceeffdca796a9c4c525 /src/libcharon/encoding/payloads/cert_payload.c | |
parent | da9724e6d0fe82db4191a2d15919b365f0f210b0 (diff) | |
download | strongswan-0406eeaacb9c9f927cd1625a2cda72427be9a6dc.tar.bz2 strongswan-0406eeaacb9c9f927cd1625a2cda72427be9a6dc.tar.xz |
Support different encoding types in certificate.get_encoding()
Diffstat (limited to 'src/libcharon/encoding/payloads/cert_payload.c')
-rw-r--r-- | src/libcharon/encoding/payloads/cert_payload.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libcharon/encoding/payloads/cert_payload.c b/src/libcharon/encoding/payloads/cert_payload.c index 6dd3141f0..80239f654 100644 --- a/src/libcharon/encoding/payloads/cert_payload.c +++ b/src/libcharon/encoding/payloads/cert_payload.c @@ -320,7 +320,12 @@ cert_payload_t *cert_payload_create_from_cert(certificate_t *cert) free(this); return NULL; } - this->data = cert->get_encoding(cert); + if (!cert->get_encoding(cert, CERT_ASN1_DER, &this->data)) + { + DBG1(DBG_ENC, "encoding certificate for cert payload failed"); + free(this); + return NULL; + } this->payload_length = CERT_PAYLOAD_HEADER_LENGTH + this->data.len; return &this->public; } |