X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccrypt%2Fsilcpkcs.h;h=d9497309729b4b37112b365dd55163732d74dc4c;hb=cdedc07c65bab8467f6f5b1ef4b38982c2c77571;hp=d96d9ef604721be848bac3a37ad091315433e5c3;hpb=2878ba34b8d864f89cfb785448e95cdd42297ee0;p=silc.git diff --git a/lib/silccrypt/silcpkcs.h b/lib/silccrypt/silcpkcs.h index d96d9ef6..d9497309 100644 --- a/lib/silccrypt/silcpkcs.h +++ b/lib/silccrypt/silcpkcs.h @@ -92,6 +92,7 @@ typedef struct SilcPKCSObjectStruct { * SOURCE */ typedef struct { + SilcUInt16 pk_type; /* Public key type (SilcSKEPKType) */ SilcUInt32 len; char *name; char *identifier; @@ -734,8 +735,9 @@ silc_pkcs_public_key_data_encode(unsigned char *pk, SilcUInt32 pk_len, * * SYNOPSIS * - * bool silc_pkcs_public_key_decode(unsigned char *data, SilcUInt32 data_len, - * SilcPublicKey *public_key); + * bool silc_pkcs_public_key_decode(unsigned char *data, + * SilcUInt32 data_len, + * SilcPublicKey *public_key); * * DESCRIPTION * @@ -746,6 +748,41 @@ silc_pkcs_public_key_data_encode(unsigned char *pk, SilcUInt32 pk_len, bool silc_pkcs_public_key_decode(unsigned char *data, SilcUInt32 data_len, SilcPublicKey *public_key); +/****f* silccrypt/SilcPKCSAPI/silc_pkcs_public_key_decode + * + * SYNOPSIS + * + * bool silc_pkcs_public_key_payload_encode(SilcPublicKey public_key); + * + * DESCRIPTION + * + * Encodes the Public Key Payload from the public key indicated by + * `public_key' of type of `pk_type'. The type is SilcSKEPKType. + * Returns the encoded payload buffer. + * + ***/ +SilcBuffer silc_pkcs_public_key_payload_encode(SilcPublicKey public_key); + +/****f* silccrypt/SilcPKCSAPI/silc_pkcs_public_key_decode + * + * SYNOPSIS + * + * bool + * silc_pkcs_public_key_payload_decode(unsigned char *data, + * SilcUInt32 data_len, + * SilcPublicKey *public_key); + * + * DESCRIPTION + * + * Decodes Public Key Payload from `data' of `data_len' bytes in length + * data buffer into `public_key' pointer. Returns FALSE if the payload + * cannot be decoded. + * + ***/ +bool silc_pkcs_public_key_payload_decode(unsigned char *data, + SilcUInt32 data_len, + SilcPublicKey *public_key); + /****f* silccrypt/SilcPKCSAPI/silc_pkcs_public_key_compare * * SYNOPSIS