[openssl-commits] [openssl] master update
Rich Salz
rsalz at openssl.org
Thu Aug 13 19:48:03 UTC 2015
The branch master has been updated
via f25825c218efb71c13ef7c60c1acbe13cfdfe78b (commit)
from ac63710a3d718cad5c4d151f0e039ce2fe9c732e (commit)
- Log -----------------------------------------------------------------
commit f25825c218efb71c13ef7c60c1acbe13cfdfe78b
Author: Rich Salz <rsalz at akamai.com>
Date: Thu Aug 13 11:22:10 2015 -0400
Fix FAQ formatting for new website.
Reviewed-by: Matt Caswell <matt at openssl.org>
-----------------------------------------------------------------------
Summary of changes:
FAQ | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/FAQ b/FAQ
index 2579d51..0ff792b 100644
--- a/FAQ
+++ b/FAQ
@@ -861,22 +861,25 @@ with the i2d_*_bio() or d2i_*_bio() functions or you can use the
i2d_*(), d2i_*() functions directly. Since these are often the
cause of grief here are some code fragments using PKCS7 as an example:
+----- snip:start -----
unsigned char *buf, *p;
- int len;
+ int len = i2d_PKCS7(p7, NULL);
- len = i2d_PKCS7(p7, NULL);
- buf = OPENSSL_malloc(len); /* or Malloc, error checking omitted */
+ buf = OPENSSL_malloc(len); /* error checking omitted */
p = buf;
i2d_PKCS7(p7, &p);
+----- snip:end -----
At this point buf contains the len bytes of the DER encoding of
p7.
The opposite assumes we already have len bytes in buf:
- unsigned char *p;
- p = buf;
+----- snip:start -----
+ unsigned char *p = buf;
+
p7 = d2i_PKCS7(NULL, &p, len);
+----- snip:end -----
At this point p7 contains a valid PKCS7 structure or NULL if an error
occurred. If an error occurred ERR_print_errors(bio) should give more
@@ -893,14 +896,17 @@ because it no longer points to the same address.
Memory allocation and encoding can also be combined in a single
operation by the ASN1 routines:
- unsigned char *buf = NULL; /* mandatory */
- int len;
- len = i2d_PKCS7(p7, &buf);
- if (len < 0)
- /* Error */
+----- snip:start -----
+ unsigned char *buf = NULL;
+ int len = i2d_PKCS7(p7, &buf);
+
+ if (len < 0) {
+ /* Error */
+ }
/* Do some things with 'buf' */
/* Finished with buf: free it */
OPENSSL_free(buf);
+----- snip:end -----
In this special case the "buf" parameter is *not* incremented, it points
to the start of the encoding.
More information about the openssl-commits
mailing list