summaryrefslogtreecommitdiffstats
path: root/FAQ
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2015-08-13 17:22:10 +0200
committerRich Salz <rsalz@openssl.org>2015-08-13 21:47:37 +0200
commitf25825c218efb71c13ef7c60c1acbe13cfdfe78b (patch)
tree2e86ff97281da5afdd40324da119dadedca35dca /FAQ
parentPACKETise Certificate Status message (diff)
downloadopenssl-f25825c218efb71c13ef7c60c1acbe13cfdfe78b.tar.xz
openssl-f25825c218efb71c13ef7c60c1acbe13cfdfe78b.zip
Fix FAQ formatting for new website.
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'FAQ')
-rw-r--r--FAQ26
1 files changed, 16 insertions, 10 deletions
diff --git a/FAQ b/FAQ
index 2579d51cba..0ff792bbc3 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.