I have written some examples for crypt module API. jemarch, I could take a simple task, any suggestion?
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [EMAIL PROTECTED] # target_branch: http://bzr.savannah.gnu.org/r/pdf/libgnupdf/branches\ # /trunk/ # testament_sha1: 8cadf9b6dc75994d8f14951c9eb00f7545d9adec # timestamp: 2008-10-07 19:28:56 +0200 # base_revision_id: [EMAIL PROTECTED] # # Begin patch === modified file 'doc/gnupdf.texi' --- doc/gnupdf.texi 2008-10-02 20:49:15 +0000 +++ doc/gnupdf.texi 2008-10-07 17:28:21 +0000 @@ -8083,7 +8083,14 @@ @end table @item Usage example @example -xxx +pdf_status_t st; + +st = pdf_crypt_init (); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error */ [EMAIL PROTECTED] @end example @end table @end deftypefun @@ -8130,7 +8137,15 @@ @end table @item Usage example @example -xxx +pdf_status_t st; +pdf_crypt_cipher_t cipher; + +st = pdf_crypt_cipher_new (PDF_CRYPT_CIPHER_ALG_AESV2, &cipher); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error */ [EMAIL PROTECTED] @end example @end table @end deftypefun @@ -8157,7 +8172,9 @@ @end table @item Usage example @example -xxx +pdf_crypt_cipher_t cipher; +pdf_crypt_cipher_new (PDF_CRYPT_CIPHER_ALG_AESV2, &cipher); +pdf_crypt_cipher_destroy (cipher); @end example @end table @end deftypefun @@ -8192,6 +8209,20 @@ @item PDF_ERROR A error ocurred while trying to set the key. @end table [EMAIL PROTECTED] Usage example [EMAIL PROTECTED] +pdf_status_t st; +pdf_crypt_cipher_t cipher; +pdf_char_t key[16]; + +/* ... */ +st = pdf_crypt_cipher_setkey (&cipher, key, sizeof(key)); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error */ [EMAIL PROTECTED] [EMAIL PROTECTED] example @end table @end deftypefun @@ -8213,6 +8244,15 @@ @item Returns The size of a valid output buffer in @code{pdf_crypt_cipher_encrypt} function for this parameters. [EMAIL PROTECTED] Usage example [EMAIL PROTECTED] +pdf_crypt_cipher_t cipher; +pdf_size_t size; +pdf_char_t in[16]; + +/* ...prepare the cipher... */ +size = pdf_crypt_cipher_encrypt_size (cipher, in, sizeof (in)); [EMAIL PROTECTED] example @end table @end deftypefun @@ -8234,6 +8274,16 @@ @item Returns The size of a valid output buffer in @code{pdf_crypt_cipher_encrypt} function for this parameters. [EMAIL PROTECTED] Usage example [EMAIL PROTECTED] +pdf_crypt_cipher_t cipher; +pdf_size_t size; +pdf_char_t *in; +pdf_size_t in_size; + +/* ...prepare the cipher... */ +size = pdf_crypt_cipher_decrypt_size (cipher, in, in_size); [EMAIL PROTECTED] example @end table @end deftypefun @@ -8269,7 +8319,23 @@ @end table @item Usage example @example -xxx +pdf_crypt_cipher_t cipher; +pdf_status_t st; +pdf_char_t *out; +pdf_char_t *in; +pdf_size_t out_size; +pdf_size_t in_size; + +/* ... */ +out_size = pdf_crypt_cipher_encrypt_size (cipher, in, in_size); +out = pdf_alloc (out_size); + +st = pdf_crypt_cipher_encrypt (cipher, out, out_size, in, in_size, &out_size); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error*/ [EMAIL PROTECTED] @end example @end table @end deftypefun @@ -8306,7 +8372,23 @@ @end table @item Usage example @example -xxx +pdf_crypt_cipher_t cipher; +pdf_status_t st; +pdf_char_t *out; +pdf_char_t *in; +pdf_size_t out_size; +pdf_size_t in_size; + +/* ... */ +out_size = pdf_crypt_cipher_decrypt_size (cipher, in, in_size); +out = pdf_alloc (out_size); + +st = pdf_crypt_crypt_decrypt (cipher, out, out_size, in, in_size, &out_size); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error*/ [EMAIL PROTECTED] @end example @end table @end deftypefun @@ -8352,7 +8434,15 @@ @end table @item Usage example @example -xxx +pdf_status_t st; +pdf_crypt_md_t md; + +st = pdf_crypt_md_new (&md, PDF_CRYPT_MD_MD5); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error /* [EMAIL PROTECTED] @end example @end table @end deftypefun @@ -8387,7 +8477,24 @@ @end table @item Usage example @example -xxx +pdf_crypt_md_t md; +pdf_char_t out[16]; +pdf_char_t *in; +pdf_size_t in_size; +pdf_status_t st; + +/* ...Prepare IN and IN_SIZE variables */ + +pdf_crypt_md_new (&md, PDF_CRYPT_MD_MD5); + +st = pdf_crypt_md_hash (md, out, sizeof(out), in, in_size); + +if (st != PDF_OK) [EMAIL PROTECTED] + /* Error */ [EMAIL PROTECTED] + +pdf_crypt_md_destroy (md); @end example @end table @end deftypefun @@ -8413,7 +8520,14 @@ @end table @item Usage example @example -xxx +pdf_status_t st; +pdf_crypt_md_t md; + +st = pdf_crypt_md_new (&md, PDF_CRYPT_MD_MD5); + +/* ... /* + +pdf_crypt_md_destroy (md); @end example @end table @end deftypefun # Begin bundle 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 ID0fQX/4u5IpwoSAAPcQeA==
