~ubuntu-branches/ubuntu/precise/openssl098/precise

« back to all changes in this revision

Viewing changes to doc/crypto/SMIME_read_PKCS7.pod

  • Committer: Bazaar Package Importer
  • Author(s): Kurt Roeckx
  • Date: 2011-03-23 19:50:31 UTC
  • Revision ID: james.westby@ubuntu.com-20110323195031-6h9crj4bymhhr8b8
Tags: upstream-0.9.8o
ImportĀ upstreamĀ versionĀ 0.9.8o

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=pod
 
2
 
 
3
=head1 NAME
 
4
 
 
5
SMIME_read_PKCS7 - parse S/MIME message.
 
6
 
 
7
=head1 SYNOPSIS
 
8
 
 
9
 #include <openssl/pkcs7.h>
 
10
 
 
11
 PKCS7 *SMIME_read_PKCS7(BIO *in, BIO **bcont);
 
12
 
 
13
=head1 DESCRIPTION
 
14
 
 
15
SMIME_read_PKCS7() parses a message in S/MIME format.
 
16
 
 
17
B<in> is a BIO to read the message from.
 
18
 
 
19
If cleartext signing is used then the content is saved in
 
20
a memory bio which is written to B<*bcont>, otherwise
 
21
B<*bcont> is set to B<NULL>.
 
22
 
 
23
The parsed PKCS#7 structure is returned or B<NULL> if an
 
24
error occurred.
 
25
 
 
26
=head1 NOTES
 
27
 
 
28
If B<*bcont> is not B<NULL> then the message is clear text
 
29
signed. B<*bcont> can then be passed to PKCS7_verify() with
 
30
the B<PKCS7_DETACHED> flag set.
 
31
 
 
32
Otherwise the type of the returned structure can be determined
 
33
using PKCS7_type().
 
34
 
 
35
To support future functionality if B<bcont> is not B<NULL>
 
36
B<*bcont> should be initialized to B<NULL>. For example:
 
37
 
 
38
 BIO *cont = NULL;
 
39
 PKCS7 *p7;
 
40
 
 
41
 p7 = SMIME_read_PKCS7(in, &cont);
 
42
 
 
43
=head1 BUGS
 
44
 
 
45
The MIME parser used by SMIME_read_PKCS7() is somewhat primitive.
 
46
While it will handle most S/MIME messages more complex compound
 
47
formats may not work.
 
48
 
 
49
The parser assumes that the PKCS7 structure is always base64
 
50
encoded and will not handle the case where it is in binary format
 
51
or uses quoted printable format.
 
52
 
 
53
The use of a memory BIO to hold the signed content limits the size
 
54
of message which can be processed due to memory restraints: a
 
55
streaming single pass option should be available.
 
56
 
 
57
=head1 RETURN VALUES
 
58
 
 
59
SMIME_read_PKCS7() returns a valid B<PKCS7> structure or B<NULL>
 
60
is an error occurred. The error can be obtained from ERR_get_error(3).
 
61
 
 
62
=head1 SEE ALSO
 
63
 
 
64
L<ERR_get_error(3)|ERR_get_error(3)>, L<PKCS7_type(3)|PKCS7_type(3)>
 
65
L<SMIME_read_PKCS7(3)|SMIME_read_PKCS7(3)>, L<PKCS7_sign(3)|PKCS7_sign(3)>,
 
66
L<PKCS7_verify(3)|PKCS7_verify(3)>, L<PKCS7_encrypt(3)|PKCS7_encrypt(3)>
 
67
L<PKCS7_decrypt(3)|PKCS7_decrypt(3)>
 
68
 
 
69
=head1 HISTORY
 
70
 
 
71
SMIME_read_PKCS7() was added to OpenSSL 0.9.5
 
72
 
 
73
=cut