aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/sa/tasks/ike_cert_post.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-07-13 13:34:04 +0200
committerMartin Willi <martin@revosec.ch>2010-07-13 13:53:20 +0200
commit0406eeaacb9c9f927cd1625a2cda72427be9a6dc (patch)
treeb102097d6db3f9455a223ceeffdca796a9c4c525 /src/libcharon/sa/tasks/ike_cert_post.c
parentda9724e6d0fe82db4191a2d15919b365f0f210b0 (diff)
downloadstrongswan-0406eeaacb9c9f927cd1625a2cda72427be9a6dc.tar.bz2
strongswan-0406eeaacb9c9f927cd1625a2cda72427be9a6dc.tar.xz
Support different encoding types in certificate.get_encoding()
Diffstat (limited to 'src/libcharon/sa/tasks/ike_cert_post.c')
-rw-r--r--src/libcharon/sa/tasks/ike_cert_post.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libcharon/sa/tasks/ike_cert_post.c b/src/libcharon/sa/tasks/ike_cert_post.c
index b28739df2..cc810a49a 100644
--- a/src/libcharon/sa/tasks/ike_cert_post.c
+++ b/src/libcharon/sa/tasks/ike_cert_post.c
@@ -72,7 +72,12 @@ static cert_payload_t *build_cert_payload(private_ike_cert_post_t *this,
return cert_payload_create_from_cert(cert);
}
- encoded = cert->get_encoding(cert);
+ if (!cert->get_encoding(cert, CERT_ASN1_DER, &encoded))
+ {
+ DBG1(DBG_IKE, "encoding certificate for cert payload failed");
+ hasher->destroy(hasher);
+ return NULL;
+ }
hasher->allocate_hash(hasher, encoded, &hash);
chunk_free(&encoded);
hasher->destroy(hasher);