From 5bceb90c8660d7e6f33b1c9d3996d836918945e3 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 24 Aug 2009 14:19:16 +0200 Subject: updated scepclient to new encoding API --- src/scepclient/pkcs10.c | 8 +++++--- src/scepclient/scep.c | 8 ++++---- src/scepclient/scepclient.c | 5 ++--- 3 files changed, 11 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/scepclient/pkcs10.c b/src/scepclient/pkcs10.c index cdd68431e..b0de006b5 100644 --- a/src/scepclient/pkcs10.c +++ b/src/scepclient/pkcs10.c @@ -157,11 +157,13 @@ build_req_info_attributes(pkcs10_t* pkcs10) static chunk_t pkcs10_build_request(pkcs10_t *pkcs10, int signature_alg) { - chunk_t key = pkcs10->public_key->get_encoding(pkcs10->public_key); - + chunk_t key = chunk_empty; + + pkcs10->public_key->get_encoding(pkcs10->public_key, KEY_PUB_ASN1_DER, &key); + chunk_t keyInfo = asn1_wrap(ASN1_SEQUENCE, "cm", asn1_algorithmIdentifier(OID_RSA_ENCRYPTION), - asn1_bitstring("m", key)); + asn1_bitstring("m", key)); chunk_t cert_req_info = asn1_wrap(ASN1_SEQUENCE, "ccmm", ASN1_INTEGER_0, diff --git a/src/scepclient/scep.c b/src/scepclient/scep.c index a788c6f41..f3e978ff3 100644 --- a/src/scepclient/scep.c +++ b/src/scepclient/scep.c @@ -287,16 +287,16 @@ void scep_generate_transaction_id(public_key_t *key, chunk_t *transID, { char digest_buf[HASH_SIZE_MD5]; chunk_t digest = chunk_from_buf(digest_buf); - chunk_t keyEncoding, keyInfo; + chunk_t keyEncoding = chunk_empty, keyInfo; hasher_t *hasher; bool msb_set; u_char *pos; - keyEncoding = key->get_encoding(key); - + key->get_encoding(key, KEY_PUB_ASN1_DER, &keyEncoding); + keyInfo = asn1_wrap(ASN1_SEQUENCE, "cm", asn1_algorithmIdentifier(OID_RSA_ENCRYPTION), - asn1_bitstring("m", keyEncoding)); + asn1_bitstring("m", keyEncoding)); hasher = lib->crypto->create_hasher(lib->crypto, HASH_MD5); hasher->get_hash(hasher, keyInfo, digest_buf); diff --git a/src/scepclient/scepclient.c b/src/scepclient/scepclient.c index 6c0166d66..ca6b07065 100644 --- a/src/scepclient/scepclient.c +++ b/src/scepclient/scepclient.c @@ -896,9 +896,8 @@ int main(int argc, char **argv) DBG(DBG_CONTROL, DBG_log("building pkcs1 object:") ) - pkcs1 = private_key->get_encoding(private_key); - - if (!chunk_write(pkcs1, path, "pkcs1", 0066, force)) + if (!private_key->get_encoding(private_key, KEY_PRIV_ASN1_DER, &pkcs1) || + !chunk_write(pkcs1, path, "pkcs1", 0066, force)) exit_scepclient("could not write pkcs1 file '%s'", path); filetype_out &= ~PKCS1; /* delete PKCS1 flag */ -- cgit v1.2.3