summaryrefslogtreecommitdiff
path: root/src/lib/libssl
diff options
context:
space:
mode:
authorschwarze <>2015-11-11 18:36:48 +0000
committerschwarze <>2015-11-11 18:36:48 +0000
commit0241f6701aac0e95428b9f0899b07ba086aa7e71 (patch)
tree80b2aab86130838808328db62934a4188f195886 /src/lib/libssl
parentd5282d754e743726bcafb49d0992917dc89caf2b (diff)
downloadopenbsd-0241f6701aac0e95428b9f0899b07ba086aa7e71.tar.gz
openbsd-0241f6701aac0e95428b9f0899b07ba086aa7e71.tar.bz2
openbsd-0241f6701aac0e95428b9f0899b07ba086aa7e71.zip
Convert and enable CMS manuals.
Already some time ago, bcook@ said these can be installed.
Diffstat (limited to 'src/lib/libssl')
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_add0_cert.pod67
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_add1_recipient_cert.pod63
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_compress.pod73
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_decrypt.pod79
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_encrypt.pod93
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_final.pod41
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_get0_RecipientInfos.pod111
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_get0_SignerInfos.pod76
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_get0_type.pod64
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_get1_ReceiptRequest.pod70
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_sign.pod122
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_sign_add1_signer.pod103
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_sign_receipt.pod45
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_uncompress.pod54
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_verify.pod126
-rw-r--r--src/lib/libssl/src/doc/crypto/CMS_verify_receipt.pod47
16 files changed, 0 insertions, 1234 deletions
diff --git a/src/lib/libssl/src/doc/crypto/CMS_add0_cert.pod b/src/lib/libssl/src/doc/crypto/CMS_add0_cert.pod
deleted file mode 100644
index b289237ec2..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_add0_cert.pod
+++ /dev/null
@@ -1,67 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_add0_cert, CMS_add1_cert, CMS_get1_certs, CMS_add0_crl, CMS_add1_crl,
6CMS_get1_crls - CMS certificate and CRL utility functions
7
8=head1 SYNOPSIS
9
10 #include <openssl/cms.h>
11
12 int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert);
13 int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert);
14 STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms);
15
16 int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl);
17 int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl);
18 STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms);
19
20
21=head1 DESCRIPTION
22
23CMS_add0_cert() and CMS_add1_cert() add certificate B<cert> to B<cms>.
24must be of type signed data or enveloped data.
25
26CMS_get1_certs() returns all certificates in B<cms>.
27
28CMS_add0_crl() and CMS_add1_crl() add CRL B<crl> to B<cms>. CMS_get1_crls()
29returns any CRLs in B<cms>.
30
31=head1 NOTES
32
33The CMS_ContentInfo structure B<cms> must be of type signed data or enveloped
34data or an error will be returned.
35
36For signed data certificates and CRLs are added to the B<certificates> and
37B<crls> fields of SignedData structure. For enveloped data they are added to
38B<OriginatorInfo>.
39
40As the B<0> implies CMS_add0_cert() adds B<cert> internally to B<cms> and it
41must not be freed up after the call as opposed to CMS_add1_cert() where B<cert>
42must be freed up.
43
44The same certificate or CRL must not be added to the same cms structure more
45than once.
46
47=head1 RETURN VALUES
48
49CMS_add0_cert(), CMS_add1_cert() and CMS_add0_crl() and CMS_add1_crl() return
501 for success and 0 for failure.
51
52CMS_get1_certs() and CMS_get1_crls() return the STACK of certificates or CRLs
53or NULL if there are none or an error occurs. The only error which will occur
54in practice is if the B<cms> type is invalid.
55
56=head1 SEE ALSO
57
58L<ERR_get_error(3)|ERR_get_error(3)>,
59L<CMS_sign(3)|CMS_sign(3)>,
60L<CMS_encrypt(3)|CMS_encrypt(3)>
61
62=head1 HISTORY
63
64CMS_add0_cert(), CMS_add1_cert(), CMS_get1_certs(), CMS_add0_crl()
65and CMS_get1_crls() were all first added to OpenSSL 0.9.8
66
67=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_add1_recipient_cert.pod b/src/lib/libssl/src/doc/crypto/CMS_add1_recipient_cert.pod
deleted file mode 100644
index 8a39391aa4..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_add1_recipient_cert.pod
+++ /dev/null
@@ -1,63 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_add1_recipient_cert, CMS_add0_recipient_key - add recipients to a CMS
6enveloped data structure
7
8=head1 SYNOPSIS
9
10 #include <openssl/cms.h>
11
12 CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509 *recip, unsigned int flags);
13
14 CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, unsigned char *key, size_t keylen, unsigned char *id, size_t idlen, ASN1_GENERALIZEDTIME *date, ASN1_OBJECT *otherTypeId, ASN1_TYPE *otherType);
15
16=head1 DESCRIPTION
17
18CMS_add1_recipient_cert() adds recipient B<recip> to CMS_ContentInfo enveloped
19data structure B<cms> as a KeyTransRecipientInfo structure.
20
21CMS_add0_recipient_key() adds symmetric key B<key> of length B<keylen> using
22wrapping algorithm B<nid>, identifier B<id> of length B<idlen> and optional
23values B<date>, B<otherTypeId> and B<otherType> to CMS_ContentInfo enveloped
24data structure B<cms> as a KEKRecipientInfo structure.
25
26The CMS_ContentInfo structure should be obtained from an initial call to
27CMS_encrypt() with the flag B<CMS_PARTIAL> set.
28
29=head1 NOTES
30
31The main purpose of this function is to provide finer control over a CMS
32enveloped data structure where the simpler CMS_encrypt() function defaults are
33not appropriate. For example if one or more KEKRecipientInfo structures
34need to be added. New attributes can also be added using the returned
35CMS_RecipientInfo structure and the CMS attribute utility functions.
36
37OpenSSL will by default identify recipient certificates using issuer name
38and serial number. If B<CMS_USE_KEYID> is set it will use the subject key
39identifier value instead. An error occurs if all recipient certificates do not
40have a subject key identifier extension.
41
42Currently only AES based key wrapping algorithms are supported for B<nid>,
43specifically: NID_id_aes128_wrap, NID_id_aes192_wrap and NID_id_aes256_wrap.
44If B<nid> is set to B<NID_undef> then an AES wrap algorithm will be used
45consistent with B<keylen>.
46
47=head1 RETURN VALUES
48
49CMS_add1_recipient_cert() and CMS_add0_recipient_key() return an internal
50pointer to the CMS_RecipientInfo structure just added or NULL if an error
51occurs.
52
53=head1 SEE ALSO
54
55L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_decrypt(3)|CMS_decrypt(3)>,
56L<CMS_final(3)|CMS_final(3)>,
57
58=head1 HISTORY
59
60CMS_add1_recipient_cert() and CMS_add0_recipient_key() were added to OpenSSL
610.9.8
62
63=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_compress.pod b/src/lib/libssl/src/doc/crypto/CMS_compress.pod
deleted file mode 100644
index 0a0715271d..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_compress.pod
+++ /dev/null
@@ -1,73 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_compress - create a CMS CompressedData structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_compress() creates and returns a CMS CompressedData structure. B<comp_nid>
16is the compression algorithm to use or B<NID_undef> to use the default
17algorithm (zlib compression). B<in> is the content to be compressed.
18B<flags> is an optional set of flags.
19
20=head1 NOTES
21
22The only currently supported compression algorithm is zlib using the NID
23NID_zlib_compression.
24
25If zlib support is not compiled into OpenSSL then CMS_compress() will return
26an error.
27
28If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are
29prepended to the data.
30
31Normally the supplied content is translated into MIME canonical format (as
32required by the S/MIME specifications) if B<CMS_BINARY> is set no translation
33occurs. This option should be used if the supplied data is in binary format
34otherwise the translation will corrupt it. If B<CMS_BINARY> is set then
35B<CMS_TEXT> is ignored.
36
37If the B<CMS_STREAM> flag is set a partial B<CMS_ContentInfo> structure is
38returned suitable for streaming I/O: no data is read from the BIO B<in>.
39
40The compressed data is included in the CMS_ContentInfo structure, unless
41B<CMS_DETACHED> is set in which case it is omitted. This is rarely used in
42practice and is not supported by SMIME_write_CMS().
43
44=head1 NOTES
45
46If the flag B<CMS_STREAM> is set the returned B<CMS_ContentInfo> structure is
47B<not> complete and outputting its contents via a function that does not
48properly finalize the B<CMS_ContentInfo> structure will give unpredictable
49results.
50
51Several functions including SMIME_write_CMS(), i2d_CMS_bio_stream(),
52PEM_write_bio_CMS_stream() finalize the structure. Alternatively finalization
53can be performed by obtaining the streaming ASN1 B<BIO> directly using
54BIO_new_CMS().
55
56Additional compression parameters such as the zlib compression level cannot
57currently be set.
58
59=head1 RETURN VALUES
60
61CMS_compress() returns either a CMS_ContentInfo structure or NULL if an error
62occurred. The error can be obtained from ERR_get_error(3).
63
64=head1 SEE ALSO
65
66L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_uncompress(3)|CMS_uncompress(3)>
67
68=head1 HISTORY
69
70CMS_compress() was added to OpenSSL 0.9.8
71The B<CMS_STREAM> flag was first supported in OpenSSL 1.0.0.
72
73=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_decrypt.pod b/src/lib/libssl/src/doc/crypto/CMS_decrypt.pod
deleted file mode 100644
index 3b44cec603..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_decrypt.pod
+++ /dev/null
@@ -1,79 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_decrypt - decrypt content from a CMS envelopedData structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, BIO *dcont, BIO *out, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_decrypt() extracts and decrypts the content from a CMS EnvelopedData
16structure. B<pkey> is the private key of the recipient, B<cert> is the
17recipient's certificate, B<out> is a BIO to write the content to and
18B<flags> is an optional set of flags.
19
20The B<dcont> parameter is used in the rare case where the encrypted content
21is detached. It will normally be set to NULL.
22
23=head1 NOTES
24
25OpenSSL_add_all_algorithms() (or equivalent) should be called before using this
26function or errors about unknown algorithms will occur.
27
28Although the recipients certificate is not needed to decrypt the data it is
29needed to locate the appropriate (of possible several) recipients in the CMS
30structure.
31
32If B<cert> is set to NULL all possible recipients are tried. This case however
33is problematic. To thwart the MMA attack (Bleichenbacher's attack on
34PKCS #1 v1.5 RSA padding) all recipients are tried whether they succeed or
35not. If no recipient succeeds then a random symmetric key is used to decrypt
36the content: this will typically output garbage and may (but is not guaranteed
37to) ultimately return a padding error only. If CMS_decrypt() just returned an
38error when all recipient encrypted keys failed to decrypt an attacker could
39use this in a timing attack. If the special flag B<CMS_DEBUG_DECRYPT> is set
40then the above behaviour is modified and an error B<is> returned if no
41recipient encrypted key can be decrypted B<without> generating a random
42content encryption key. Applications should use this flag with
43B<extreme caution> especially in automated gateways as it can leave them
44open to attack.
45
46It is possible to determine the correct recipient key by other means (for
47example looking them up in a database) and setting them in the CMS structure
48in advance using the CMS utility functions such as CMS_set1_pkey(). In this
49case both B<cert> and B<pkey> should be set to NULL.
50
51To process KEKRecipientInfo types CMS_set1_key() or CMS_RecipientInfo_set0_key()
52and CMS_ReceipientInfo_decrypt() should be called before CMS_decrypt() and
53B<cert> and B<pkey> set to NULL.
54
55The following flags can be passed in the B<flags> parameter.
56
57If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are deleted
58from the content. If the content is not of type B<text/plain> then an error is
59returned.
60
61=head1 RETURN VALUES
62
63CMS_decrypt() returns either 1 for success or 0 for failure.
64The error can be obtained from ERR_get_error(3)
65
66=head1 BUGS
67
68The lack of single pass processing and the need to hold all data in memory as
69mentioned in CMS_verify() also applies to CMS_decrypt().
70
71=head1 SEE ALSO
72
73L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_encrypt(3)|CMS_encrypt(3)>
74
75=head1 HISTORY
76
77CMS_decrypt() was added to OpenSSL 0.9.8
78
79=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_encrypt.pod b/src/lib/libssl/src/doc/crypto/CMS_encrypt.pod
deleted file mode 100644
index f697e87e2b..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_encrypt.pod
+++ /dev/null
@@ -1,93 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_encrypt - create a CMS envelopedData structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_encrypt() creates and returns a CMS EnvelopedData structure. B<certs>
16is a list of recipient certificates. B<in> is the content to be encrypted.
17B<cipher> is the symmetric cipher to use. B<flags> is an optional set of flags.
18
19=head1 NOTES
20
21Only certificates carrying RSA keys are supported so the recipient certificates
22supplied to this function must all contain RSA public keys, though they do not
23have to be signed using the RSA algorithm.
24
25The algorithm passed in the B<cipher> parameter must support ASN1 encoding of
26its parameters.
27
28Many browsers implement a "sign and encrypt" option which is simply an S/MIME
29envelopedData containing an S/MIME signed message. This can be readily produced
30by storing the S/MIME signed message in a memory BIO and passing it to
31CMS_encrypt().
32
33The following flags can be passed in the B<flags> parameter.
34
35If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are
36prepended to the data.
37
38Normally the supplied content is translated into MIME canonical format (as
39required by the S/MIME specifications) if B<CMS_BINARY> is set no translation
40occurs. This option should be used if the supplied data is in binary format
41otherwise the translation will corrupt it. If B<CMS_BINARY> is set then
42B<CMS_TEXT> is ignored.
43
44OpenSSL will by default identify recipient certificates using issuer name
45and serial number. If B<CMS_USE_KEYID> is set it will use the subject key
46identifier value instead. An error occurs if all recipient certificates do not
47have a subject key identifier extension.
48
49If the B<CMS_STREAM> flag is set a partial B<CMS_ContentInfo> structure is
50returned suitable for streaming I/O: no data is read from the BIO B<in>.
51
52If the B<CMS_PARTIAL> flag is set a partial B<CMS_ContentInfo> structure is
53returned to which additional recipients and attributes can be added before
54finalization.
55
56The data being encrypted is included in the CMS_ContentInfo structure, unless
57B<CMS_DETACHED> is set in which case it is omitted. This is rarely used in
58practice and is not supported by SMIME_write_CMS().
59
60=head1 NOTES
61
62If the flag B<CMS_STREAM> is set the returned B<CMS_ContentInfo> structure is
63B<not> complete and outputting its contents via a function that does not
64properly finalize the B<CMS_ContentInfo> structure will give unpredictable
65results.
66
67Several functions including SMIME_write_CMS(), i2d_CMS_bio_stream(),
68PEM_write_bio_CMS_stream() finalize the structure. Alternatively finalization
69can be performed by obtaining the streaming ASN1 B<BIO> directly using
70BIO_new_CMS().
71
72The recipients specified in B<certs> use a CMS KeyTransRecipientInfo info
73structure. KEKRecipientInfo is also supported using the flag B<CMS_PARTIAL>
74and CMS_add0_recipient_key().
75
76The parameter B<certs> may be NULL if B<CMS_PARTIAL> is set and recipients
77added later using CMS_add1_recipient_cert() or CMS_add0_recipient_key().
78
79=head1 RETURN VALUES
80
81CMS_encrypt() returns either a CMS_ContentInfo structure or NULL if an error
82occurred. The error can be obtained from ERR_get_error(3).
83
84=head1 SEE ALSO
85
86L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_decrypt(3)|CMS_decrypt(3)>
87
88=head1 HISTORY
89
90CMS_decrypt() was added to OpenSSL 0.9.8
91The B<CMS_STREAM> flag was first supported in OpenSSL 1.0.0.
92
93=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_final.pod b/src/lib/libssl/src/doc/crypto/CMS_final.pod
deleted file mode 100644
index c5f1722aaf..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_final.pod
+++ /dev/null
@@ -1,41 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_final - finalise a CMS_ContentInfo structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_final() finalises the structure B<cms>. It's purpose is to perform any
16operations necessary on B<cms> (digest computation for example) and set the
17appropriate fields. The parameter B<data> contains the content to be
18processed. The B<dcont> parameter contains a BIO to write content to after
19processing: this is only used with detached data and will usually be set to
20NULL.
21
22=head1 NOTES
23
24This function will normally be called when the B<CMS_PARTIAL> flag is used. It
25should only be used when streaming is not performed because the streaming
26I/O functions perform finalisation operations internally.
27
28=head1 RETURN VALUES
29
30CMS_final() returns 1 for success or 0 for failure.
31
32=head1 SEE ALSO
33
34L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_sign(3)|CMS_sign(3)>,
35L<CMS_encrypt(3)|CMS_encrypt(3)>
36
37=head1 HISTORY
38
39CMS_final() was added to OpenSSL 0.9.8
40
41=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_get0_RecipientInfos.pod b/src/lib/libssl/src/doc/crypto/CMS_get0_RecipientInfos.pod
deleted file mode 100644
index da3914c0c0..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_get0_RecipientInfos.pod
+++ /dev/null
@@ -1,111 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_get0_RecipientInfos, CMS_RecipientInfo_type,
6CMS_RecipientInfo_ktri_get0_signer_id,CMS_RecipientInfo_ktri_cert_cmp,
7CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id,
8CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key,
9CMS_RecipientInfo_decrypt,
10CMS_RecipientInfo_encrypt - CMS envelopedData RecipientInfo routines
11
12=head1 SYNOPSIS
13
14 #include <openssl/cms.h>
15
16 STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms);
17 int CMS_RecipientInfo_type(CMS_RecipientInfo *ri);
18
19 int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, ASN1_OCTET_STRING **keyid, X509_NAME **issuer, ASN1_INTEGER **sno);
20 int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert);
21 int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey);
22
23 int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, X509_ALGOR **palg, ASN1_OCTET_STRING **pid, ASN1_GENERALIZEDTIME **pdate, ASN1_OBJECT **potherid, ASN1_TYPE **pothertype);
24 int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, const unsigned char *id, size_t idlen);
25 int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, unsigned char *key, size_t keylen);
26
27 int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri);
28
29=head1 DESCRIPTION
30
31The function CMS_get0_RecipientInfos() returns all the CMS_RecipientInfo
32structures associated with a CMS EnvelopedData structure.
33
34CMS_RecipientInfo_type() returns the type of CMS_RecipientInfo structure B<ri>.
35It will currently return CMS_RECIPINFO_TRANS, CMS_RECIPINFO_AGREE,
36CMS_RECIPINFO_KEK, CMS_RECIPINFO_PASS, or CMS_RECIPINFO_OTHER.
37
38CMS_RecipientInfo_ktri_get0_signer_id() retrieves the certificate recipient
39identifier associated with a specific CMS_RecipientInfo structure B<ri>, which
40must be of type CMS_RECIPINFO_TRANS. Either the keyidentifier will be set in
41B<keyid> or B<both> issuer name and serial number in B<issuer> and B<sno>.
42
43CMS_RecipientInfo_ktri_cert_cmp() compares the certificate B<cert> against the
44CMS_RecipientInfo structure B<ri>, which must be of type CMS_RECIPINFO_TRANS.
45It returns zero if the comparison is successful and non zero if not.
46
47CMS_RecipientInfo_set0_pkey() associates the private key B<pkey> with
48the CMS_RecipientInfo structure B<ri>, which must be of type
49CMS_RECIPINFO_TRANS.
50
51CMS_RecipientInfo_kekri_get0_id() retrieves the key information from the
52CMS_RecipientInfo structure B<ri> which must be of type CMS_RECIPINFO_KEK. Any
53of the remaining parameters can be NULL if the application is not interested in
54the value of a field. Where a field is optional and absent NULL will be written
55to the corresponding parameter. The keyEncryptionAlgorithm field is written to
56B<palg>, the B<keyIdentifier> field is written to B<pid>, the B<date> field if
57present is written to B<pdate>, if the B<other> field is present the components
58B<keyAttrId> and B<keyAttr> are written to parameters B<potherid> and
59B<pothertype>.
60
61CMS_RecipientInfo_kekri_id_cmp() compares the ID in the B<id> and B<idlen>
62parameters against the B<keyIdentifier> CMS_RecipientInfo structure B<ri>,
63which must be of type CMS_RECIPINFO_KEK. It returns zero if the comparison is
64successful and non zero if not.
65
66CMS_RecipientInfo_set0_key() associates the symmetric key B<key> of length
67B<keylen> with the CMS_RecipientInfo structure B<ri>, which must be of type
68CMS_RECIPINFO_KEK.
69
70CMS_RecipientInfo_decrypt() attempts to decrypt CMS_RecipientInfo structure
71B<ri> in structure B<cms>. A key must have been associated with the structure
72first.
73
74=head1 NOTES
75
76The main purpose of these functions is to enable an application to lookup
77recipient keys using any appropriate technique when the simpler method
78of CMS_decrypt() is not appropriate.
79
80In typical usage and application will retrieve all CMS_RecipientInfo structures
81using CMS_get0_RecipientInfos() and check the type of each using
82CMS_RecpientInfo_type(). Depending on the type the CMS_RecipientInfo structure
83can be ignored or its key identifier data retrieved using an appropriate
84function. Then if the corresponding secret or private key can be obtained by
85any appropriate means it can then associated with the structure and
86CMS_RecpientInfo_decrypt() called. If successful CMS_decrypt() can be called
87with a NULL key to decrypt the enveloped content.
88
89=head1 RETURN VALUES
90
91CMS_get0_RecipientInfos() returns all CMS_RecipientInfo structures, or NULL if
92an error occurs.
93
94CMS_RecipientInfo_ktri_get0_signer_id(), CMS_RecipientInfo_set0_pkey(),
95CMS_RecipientInfo_kekri_get0_id(), CMS_RecipientInfo_set0_key() and
96CMS_RecipientInfo_decrypt() return 1 for success or 0 if an error occurs.
97
98CMS_RecipientInfo_ktri_cert_cmp() and CMS_RecipientInfo_kekri_cmp() return 0
99for a successful comparison and non zero otherwise.
100
101Any error can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>.
102
103=head1 SEE ALSO
104
105L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_decrypt(3)|CMS_decrypt(3)>
106
107=head1 HISTORY
108
109These functions were first was added to OpenSSL 0.9.8
110
111=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_get0_SignerInfos.pod b/src/lib/libssl/src/doc/crypto/CMS_get0_SignerInfos.pod
deleted file mode 100644
index 557cda6c3e..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_get0_SignerInfos.pod
+++ /dev/null
@@ -1,76 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, CMS_SignerInfo_cert_cmp,
6CMS_set1_signer_certs - CMS signedData signer functions.
7
8=head1 SYNOPSIS
9
10 #include <openssl/cms.h>
11
12 STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms);
13
14 int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, ASN1_OCTET_STRING **keyid, X509_NAME **issuer, ASN1_INTEGER **sno);
15 int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert);
16 void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer);
17
18=head1 DESCRIPTION
19
20The function CMS_get0_SignerInfos() returns all the CMS_SignerInfo structures
21associated with a CMS signedData structure.
22
23CMS_SignerInfo_get0_signer_id() retrieves the certificate signer identifier
24associated with a specific CMS_SignerInfo structure B<si>. Either the
25keyidentifier will be set in B<keyid> or B<both> issuer name and serial number
26in B<issuer> and B<sno>.
27
28CMS_SignerInfo_cert_cmp() compares the certificate B<cert> against the signer
29identifier B<si>. It returns zero if the comparison is successful and non zero
30if not.
31
32CMS_SignerInfo_set1_signer_cert() sets the signers certificate of B<si> to
33B<signer>.
34
35=head1 NOTES
36
37The main purpose of these functions is to enable an application to lookup
38signers certificates using any appropriate technique when the simpler method
39of CMS_verify() is not appropriate.
40
41In typical usage and application will retrieve all CMS_SignerInfo structures
42using CMS_get0_SignerInfo() and retrieve the identifier information using
43CMS. It will then obtain the signer certificate by some unspecified means
44(or return and error if it cannot be found) and set it using
45CMS_SignerInfo_set1_signer_cert().
46
47Once all signer certificates have been set CMS_verify() can be used.
48
49Although CMS_get0_SignerInfos() can return NULL is an error occur B<or> if
50there are no signers this is not a problem in practice because the only
51error which can occur is if the B<cms> structure is not of type signedData
52due to application error.
53
54=head1 RETURN VALUES
55
56CMS_get0_SignerInfos() returns all CMS_SignerInfo structures, or NULL there
57are no signers or an error occurs.
58
59CMS_SignerInfo_get0_signer_id() returns 1 for success and 0 for failure.
60
61CMS_SignerInfo_cert_cmp() returns 0 for a successful comparison and non
62zero otherwise.
63
64CMS_SignerInfo_set1_signer_cert() does not return a value.
65
66Any error can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>
67
68=head1 SEE ALSO
69
70L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_verify(3)|CMS_verify(3)>
71
72=head1 HISTORY
73
74These functions were first was added to OpenSSL 0.9.8
75
76=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_get0_type.pod b/src/lib/libssl/src/doc/crypto/CMS_get0_type.pod
deleted file mode 100644
index bc2690ee1a..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_get0_type.pod
+++ /dev/null
@@ -1,64 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_get0_type, CMS_set1_eContentType, CMS_get0_eContentType - get and set CMS
6content types
7
8=head1 SYNOPSIS
9
10 #include <openssl/cms.h>
11
12 const ASN1_OBJECT *CMS_get0_type(CMS_ContentInfo *cms);
13 int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid);
14 const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms);
15
16=head1 DESCRIPTION
17
18CMS_get0_type() returns the content type of a CMS_ContentInfo structure as
19and ASN1_OBJECT pointer. An application can then decide how to process the
20CMS_ContentInfo structure based on this value.
21
22CMS_set1_eContentType() sets the embedded content type of a CMS_ContentInfo
23structure. It should be called with CMS functions with the B<CMS_PARTIAL>
24flag and B<before> the structure is finalised, otherwise the results are
25undefined.
26
27ASN1_OBJECT *CMS_get0_eContentType() returns a pointer to the embedded
28content type.
29
30=head1 NOTES
31
32As the B<0> implies CMS_get0_type() and CMS_get0_eContentType() return internal
33pointers which should B<not> be freed up. CMS_set1_eContentType() copies the
34supplied OID and it B<should> be freed up after use.
35
36The B<ASN1_OBJECT> values returned can be converted to an integer B<NID> value
37using OBJ_obj2nid(). For the currently supported content types the following
38values are returned:
39
40 NID_pkcs7_data
41 NID_pkcs7_signed
42 NID_pkcs7_digest
43 NID_id_smime_ct_compressedData:
44 NID_pkcs7_encrypted
45 NID_pkcs7_enveloped
46
47
48=head1 RETURN VALUES
49
50CMS_get0_type() and CMS_get0_eContentType() return and ASN1_OBJECT structure.
51
52CMS_set1_eContentType() returns 1 for success or 0 if an error occurred. The
53error can be obtained from ERR_get_error(3).
54
55=head1 SEE ALSO
56
57L<ERR_get_error(3)|ERR_get_error(3)>
58
59=head1 HISTORY
60
61CMS_get0_type(), CMS_set1_eContentType() and CMS_get0_eContentType() were all
62first added to OpenSSL 0.9.8
63
64=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_get1_ReceiptRequest.pod b/src/lib/libssl/src/doc/crypto/CMS_get1_ReceiptRequest.pod
deleted file mode 100644
index a7babb1a6e..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_get1_ReceiptRequest.pod
+++ /dev/null
@@ -1,70 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_ReceiptRequest_create0, CMS_add1_ReceiptRequest, CMS_get1_ReceiptRequest,
6CMS_ReceiptRequest_get0_values - CMS signed receipt request functions.
7
8=head1 SYNOPSIS
9
10 #include <openssl/cms.h>
11
12 CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, int allorfirst, STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES) *receiptsTo);
13 int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr);
14 int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr);
15 void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, ASN1_STRING **pcid, int *pallorfirst, STACK_OF(GENERAL_NAMES) **plist, STACK_OF(GENERAL_NAMES) **prto);
16
17=head1 DESCRIPTION
18
19CMS_ReceiptRequest_create0() creates a signed receipt request structure. The
20B<signedContentIdentifier> field is set using B<id> and B<idlen>, or it is set
21to 32 bytes of pseudo random data if B<id> is NULL. If B<receiptList> is NULL
22the allOrFirstTier option in B<receiptsFrom> is used and set to the value of
23the B<allorfirst> parameter. If B<receiptList> is not NULL the B<receiptList>
24option in B<receiptsFrom> is used. The B<receiptsTo> parameter specifies the
25B<receiptsTo> field value.
26
27The CMS_add1_ReceiptRequest() function adds a signed receipt request B<rr>
28to SignerInfo structure B<si>.
29
30int CMS_get1_ReceiptRequest() looks for a signed receipt request in B<si>, if
31any is found it is decoded and written to B<prr>.
32
33CMS_ReceiptRequest_get0_values() retrieves the values of a receipt request.
34The signedContentIdentifier is copied to B<pcid>. If the B<allOrFirstTier>
35option of B<receiptsFrom> is used its value is copied to B<pallorfirst>
36otherwise the B<receiptList> field is copied to B<plist>. The B<receiptsTo>
37parameter is copied to B<prto>.
38
39=head1 NOTES
40
41For more details of the meaning of the fields see RFC2634.
42
43The contents of a signed receipt should only be considered meaningful if the
44corresponding CMS_ContentInfo structure can be successfully verified using
45CMS_verify().
46
47=head1 RETURN VALUES
48
49CMS_ReceiptRequest_create0() returns a signed receipt request structure or
50NULL if an error occurred.
51
52CMS_add1_ReceiptRequest() returns 1 for success or 0 is an error occurred.
53
54CMS_get1_ReceiptRequest() returns 1 is a signed receipt request is found and
55decoded. It returns 0 if a signed receipt request is not present and -1 if
56it is present but malformed.
57
58=head1 SEE ALSO
59
60L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_sign(3)|CMS_sign(3)>,
61L<CMS_sign_receipt(3)|CMS_sign_receipt(3)>, L<CMS_verify(3)|CMS_verify(3)>
62L<CMS_verify_receipt(3)|CMS_verify_receipt(3)>
63
64=head1 HISTORY
65
66CMS_ReceiptRequest_create0(), CMS_add1_ReceiptRequest(),
67CMS_get1_ReceiptRequest() and CMS_ReceiptRequest_get0_values() were added to
68OpenSSL 0.9.8
69
70=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_sign.pod b/src/lib/libssl/src/doc/crypto/CMS_sign.pod
deleted file mode 100644
index cc6d17faf6..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_sign.pod
+++ /dev/null
@@ -1,122 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_sign - create a CMS SignedData structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_sign() creates and returns a CMS SignedData structure. B<signcert> is
16the certificate to sign with, B<pkey> is the corresponding private key.
17B<certs> is an optional additional set of certificates to include in the CMS
18structure (for example any intermediate CAs in the chain). Any or all of
19these parameters can be B<NULL>, see B<NOTES> below.
20
21The data to be signed is read from BIO B<data>.
22
23B<flags> is an optional set of flags.
24
25=head1 NOTES
26
27Any of the following flags (ored together) can be passed in the B<flags>
28parameter.
29
30Many S/MIME clients expect the signed content to include valid MIME headers. If
31the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are prepended
32to the data.
33
34If B<CMS_NOCERTS> is set the signer's certificate will not be included in the
35CMS_ContentInfo structure, the signer's certificate must still be supplied in
36the B<signcert> parameter though. This can reduce the size of the signature if
37the signers certificate can be obtained by other means: for example a
38previously signed message.
39
40The data being signed is included in the CMS_ContentInfo structure, unless
41B<CMS_DETACHED> is set in which case it is omitted. This is used for
42CMS_ContentInfo detached signatures which are used in S/MIME plaintext signed
43messages for example.
44
45Normally the supplied content is translated into MIME canonical format (as
46required by the S/MIME specifications) if B<CMS_BINARY> is set no translation
47occurs. This option should be used if the supplied data is in binary format
48otherwise the translation will corrupt it.
49
50The SignedData structure includes several CMS signedAttributes including the
51signing time, the CMS content type and the supported list of ciphers in an
52SMIMECapabilities attribute. If B<CMS_NOATTR> is set then no signedAttributes
53will be used. If B<CMS_NOSMIMECAP> is set then just the SMIMECapabilities are
54omitted.
55
56If present the SMIMECapabilities attribute indicates support for the following
57algorithms in preference order: 256 bit AES, Gost R3411-94, Gost 28147-89, 192
58bit AES, 128 bit AES, triple DES, 128 bit RC2, 64 bit RC2, DES and 40 bit RC2.
59If any of these algorithms is not available then it will not be included: for
60example the GOST algorithms will not be included if the GOST ENGINE is not
61loaded.
62
63OpenSSL will by default identify signing certificates using issuer name
64and serial number. If B<CMS_USE_KEYID> is set it will use the subject key
65identifier value instead. An error occurs if the signing certificate does not
66have a subject key identifier extension.
67
68If the flags B<CMS_STREAM> is set then the returned B<CMS_ContentInfo>
69structure is just initialized ready to perform the signing operation. The
70signing is however B<not> performed and the data to be signed is not read from
71the B<data> parameter. Signing is deferred until after the data has been
72written. In this way data can be signed in a single pass.
73
74If the B<CMS_PARTIAL> flag is set a partial B<CMS_ContentInfo> structure is
75output to which additional signers and capabilities can be added before
76finalization.
77
78If the flag B<CMS_STREAM> is set the returned B<CMS_ContentInfo> structure is
79B<not> complete and outputting its contents via a function that does not
80properly finalize the B<CMS_ContentInfo> structure will give unpredictable
81results.
82
83Several functions including SMIME_write_CMS(), i2d_CMS_bio_stream(),
84PEM_write_bio_CMS_stream() finalize the structure. Alternatively finalization
85can be performed by obtaining the streaming ASN1 B<BIO> directly using
86BIO_new_CMS().
87
88If a signer is specified it will use the default digest for the signing
89algorithm. This is B<SHA1> for both RSA and DSA keys.
90
91If B<signcert> and B<pkey> are NULL then a certificates only CMS structure is
92output.
93
94The function CMS_sign() is a basic CMS signing function whose output will be
95suitable for many purposes. For finer control of the output format the
96B<certs>, B<signcert> and B<pkey> parameters can all be B<NULL> and the
97B<CMS_PARTIAL> flag set. Then one or more signers can be added using the
98function CMS_sign_add1_signer(), non default digests can be used and custom
99attributes added. B<CMS_final()> must then be called to finalize the
100structure if streaming is not enabled.
101
102=head1 BUGS
103
104Some attributes such as counter signatures are not supported.
105
106=head1 RETURN VALUES
107
108CMS_sign() returns either a valid CMS_ContentInfo structure or NULL if an error
109occurred. The error can be obtained from ERR_get_error(3).
110
111=head1 SEE ALSO
112
113L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_verify(3)|CMS_verify(3)>
114
115=head1 HISTORY
116
117CMS_sign() was added to OpenSSL 0.9.8
118
119The B<CMS_STREAM> flag is only supported for detached data in OpenSSL 0.9.8,
120it is supported for embedded data in OpenSSL 1.0.0 and later.
121
122=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_sign_add1_signer.pod b/src/lib/libssl/src/doc/crypto/CMS_sign_add1_signer.pod
deleted file mode 100644
index ed4d9a9234..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_sign_add1_signer.pod
+++ /dev/null
@@ -1,103 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_sign_add1_signer, CMS_SignerInfo_sign - add a signer to a CMS_ContentInfo
6signed data structure.
7
8=head1 SYNOPSIS
9
10 #include <openssl/cms.h>
11
12 CMS_SignerInfo *CMS_sign_add1_signer(CMS_ContentInfo *cms, X509 *signcert, EVP_PKEY *pkey, const EVP_MD *md, unsigned int flags);
13
14 int CMS_SignerInfo_sign(CMS_SignerInfo *si);
15
16
17=head1 DESCRIPTION
18
19CMS_sign_add1_signer() adds a signer with certificate B<signcert> and private
20key B<pkey> using message digest B<md> to CMS_ContentInfo SignedData
21structure B<cms>.
22
23The CMS_ContentInfo structure should be obtained from an initial call to
24CMS_sign() with the flag B<CMS_PARTIAL> set or in the case or re-signing a
25valid CMS_ContentInfo SignedData structure.
26
27If the B<md> parameter is B<NULL> then the default digest for the public
28key algorithm will be used.
29
30Unless the B<CMS_REUSE_DIGEST> flag is set the returned CMS_ContentInfo
31structure is not complete and must be finalized either by streaming (if
32applicable) or a call to CMS_final().
33
34The CMS_SignerInfo_sign() function will explicitly sign a CMS_SignerInfo
35structure, its main use is when B<CMS_REUSE_DIGEST> and B<CMS_PARTIAL> flags
36are both set.
37
38=head1 NOTES
39
40The main purpose of CMS_sign_add1_signer() is to provide finer control
41over a CMS signed data structure where the simpler CMS_sign() function defaults
42are not appropriate. For example if multiple signers or non default digest
43algorithms are needed. New attributes can also be added using the returned
44CMS_SignerInfo structure and the CMS attribute utility functions or the
45CMS signed receipt request functions.
46
47Any of the following flags (ored together) can be passed in the B<flags>
48parameter.
49
50If B<CMS_REUSE_DIGEST> is set then an attempt is made to copy the content
51digest value from the CMS_ContentInfo structure: to add a signer to an existing
52structure. An error occurs if a matching digest value cannot be found to copy.
53The returned CMS_ContentInfo structure will be valid and finalized when this
54flag is set.
55
56If B<CMS_PARTIAL> is set in addition to B<CMS_REUSE_DIGEST> then the
57CMS_SignerInfo structure will not be finalized so additional attributes
58can be added. In this case an explicit call to CMS_SignerInfo_sign() is
59needed to finalize it.
60
61If B<CMS_NOCERTS> is set the signer's certificate will not be included in the
62CMS_ContentInfo structure, the signer's certificate must still be supplied in
63the B<signcert> parameter though. This can reduce the size of the signature if
64the signers certificate can be obtained by other means: for example a
65previously signed message.
66
67The SignedData structure includes several CMS signedAttributes including the
68signing time, the CMS content type and the supported list of ciphers in an
69SMIMECapabilities attribute. If B<CMS_NOATTR> is set then no signedAttributes
70will be used. If B<CMS_NOSMIMECAP> is set then just the SMIMECapabilities are
71omitted.
72
73OpenSSL will by default identify signing certificates using issuer name
74and serial number. If B<CMS_USE_KEYID> is set it will use the subject key
75identifier value instead. An error occurs if the signing certificate does not
76have a subject key identifier extension.
77
78If present the SMIMECapabilities attribute indicates support for the following
79algorithms in preference order: 256 bit AES, Gost R3411-94, Gost 28147-89, 192
80bit AES, 128 bit AES, triple DES, 128 bit RC2, 64 bit RC2, DES and 40 bit RC2.
81If any of these algorithms is not available then it will not be included: for
82example the GOST algorithms will not be included if the GOST ENGINE is not
83loaded.
84
85CMS_sign_add1_signer() returns an internal pointer to the CMS_SignerInfo
86structure just added, this can be used to set additional attributes
87before it is finalized.
88
89=head1 RETURN VALUES
90
91CMS_sign1_add_signers() returns an internal pointer to the CMS_SignerInfo
92structure just added or NULL if an error occurs.
93
94=head1 SEE ALSO
95
96L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_sign(3)|CMS_sign(3)>,
97L<CMS_final(3)|CMS_final(3)>,
98
99=head1 HISTORY
100
101CMS_sign_add1_signer() was added to OpenSSL 0.9.8
102
103=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_sign_receipt.pod b/src/lib/libssl/src/doc/crypto/CMS_sign_receipt.pod
deleted file mode 100644
index f603ab66f0..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_sign_receipt.pod
+++ /dev/null
@@ -1,45 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_sign_receipt - create a CMS signed receipt
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_sign_receipt() creates and returns a CMS signed receipt structure. B<si> is
16the B<CMS_SignerInfo> structure containing the signed receipt request.
17B<signcert> is the certificate to sign with, B<pkey> is the corresponding
18private key. B<certs> is an optional additional set of certificates to include
19in the CMS structure (for example any intermediate CAs in the chain).
20
21B<flags> is an optional set of flags.
22
23=head1 NOTES
24
25This functions behaves in a similar way to CMS_sign() except the flag values
26B<CMS_DETACHED>, B<CMS_BINARY>, B<CMS_NOATTR>, B<CMS_TEXT> and B<CMS_STREAM>
27are not supported since they do not make sense in the context of signed
28receipts.
29
30=head1 RETURN VALUES
31
32CMS_sign_receipt() returns either a valid CMS_ContentInfo structure or NULL if
33an error occurred. The error can be obtained from ERR_get_error(3).
34
35=head1 SEE ALSO
36
37L<ERR_get_error(3)|ERR_get_error(3)>,
38L<CMS_verify_receipt(3)|CMS_verify_receipt(3)>,
39L<CMS_sign(3)|CMS_sign(3)>
40
41=head1 HISTORY
42
43CMS_sign_receipt() was added to OpenSSL 0.9.8
44
45=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_uncompress.pod b/src/lib/libssl/src/doc/crypto/CMS_uncompress.pod
deleted file mode 100644
index fcbfec128a..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_uncompress.pod
+++ /dev/null
@@ -1,54 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_uncompress - uncompress a CMS CompressedData structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_uncompress() extracts and uncompresses the content from a CMS
16CompressedData structure B<cms>. B<data> is a BIO to write the content to and
17B<flags> is an optional set of flags.
18
19The B<dcont> parameter is used in the rare case where the compressed content
20is detached. It will normally be set to NULL.
21
22=head1 NOTES
23
24The only currently supported compression algorithm is zlib: if the structure
25indicates the use of any other algorithm an error is returned.
26
27If zlib support is not compiled into OpenSSL then CMS_uncompress() will always
28return an error.
29
30The following flags can be passed in the B<flags> parameter.
31
32If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are deleted
33from the content. If the content is not of type B<text/plain> then an error is
34returned.
35
36=head1 RETURN VALUES
37
38CMS_uncompress() returns either 1 for success or 0 for failure. The error can
39be obtained from ERR_get_error(3)
40
41=head1 BUGS
42
43The lack of single pass processing and the need to hold all data in memory as
44mentioned in CMS_verify() also applies to CMS_decompress().
45
46=head1 SEE ALSO
47
48L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_compress(3)|CMS_compress(3)>
49
50=head1 HISTORY
51
52CMS_uncompress() was added to OpenSSL 0.9.8
53
54=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_verify.pod b/src/lib/libssl/src/doc/crypto/CMS_verify.pod
deleted file mode 100644
index 69425008aa..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_verify.pod
+++ /dev/null
@@ -1,126 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_verify, CMS_get0_signers - verify a CMS SignedData structure
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, unsigned int flags);
12
13 STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms);
14
15=head1 DESCRIPTION
16
17CMS_verify() verifies a CMS SignedData structure. B<cms> is the CMS_ContentInfo
18structure to verify. B<certs> is a set of certificates in which to search for
19the signing certificate(s). B<store> is a trusted certificate store used for
20chain verification. B<indata> is the detached content if the content is not
21present in B<cms>. The content is written to B<out> if it is not NULL.
22
23B<flags> is an optional set of flags, which can be used to modify the verify
24operation.
25
26CMS_get0_signers() retrieves the signing certificate(s) from B<cms>, it must
27be called after a successful CMS_verify() operation.
28
29=head1 VERIFY PROCESS
30
31Normally the verify process proceeds as follows.
32
33Initially some sanity checks are performed on B<cms>. The type of B<cms> must
34be SignedData. There must be at least one signature on the data and if
35the content is detached B<indata> cannot be B<NULL>.
36
37An attempt is made to locate all the signing certificate(s), first looking in
38the B<certs> parameter (if it is not NULL) and then looking in any
39certificates contained in the B<cms> structure itself. If any signing
40certificate cannot be located the operation fails.
41
42Each signing certificate is chain verified using the B<smimesign> purpose and
43the supplied trusted certificate store. Any internal certificates in the message
44are used as untrusted CAs. If CRL checking is enabled in B<store> any internal
45CRLs are used in addition to attempting to look them up in B<store>. If any
46chain verify fails an error code is returned.
47
48Finally the signed content is read (and written to B<out> is it is not NULL)
49and the signature's checked.
50
51If all signature's verify correctly then the function is successful.
52
53Any of the following flags (ored together) can be passed in the B<flags>
54parameter to change the default verify behaviour.
55
56If B<CMS_NOINTERN> is set the certificates in the message itself are not
57searched when locating the signing certificate(s). This means that all the
58signing certificates must be in the B<certs> parameter.
59
60If B<CMS_NOCRL> is set and CRL checking is enabled in B<store> then any
61CRLs in the message itself are ignored.
62
63If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are deleted
64from the content. If the content is not of type B<text/plain> then an error is
65returned.
66
67If B<CMS_NO_SIGNER_CERT_VERIFY> is set the signing certificates are not
68verified.
69
70If B<CMS_NO_ATTR_VERIFY> is set the signed attributes signature is not
71verified.
72
73If B<CMS_NO_CONTENT_VERIFY> is set then the content digest is not checked.
74
75=head1 NOTES
76
77One application of B<CMS_NOINTERN> is to only accept messages signed by
78a small number of certificates. The acceptable certificates would be passed
79in the B<certs> parameter. In this case if the signer is not one of the
80certificates supplied in B<certs> then the verify will fail because the
81signer cannot be found.
82
83In some cases the standard techniques for looking up and validating
84certificates are not appropriate: for example an application may wish to
85lookup certificates in a database or perform customised verification. This
86can be achieved by setting and verifying the signers certificates manually
87using the signed data utility functions.
88
89Care should be taken when modifying the default verify behaviour, for example
90setting B<CMS_NO_CONTENT_VERIFY> will totally disable all content verification
91and any modified content will be considered valid. This combination is however
92useful if one merely wishes to write the content to B<out> and its validity
93is not considered important.
94
95Chain verification should arguably be performed using the signing time rather
96than the current time. However since the signing time is supplied by the
97signer it cannot be trusted without additional evidence (such as a trusted
98timestamp).
99
100=head1 RETURN VALUES
101
102CMS_verify() returns 1 for a successful verification and zero if an error
103occurred.
104
105CMS_get0_signers() returns all signers or NULL if an error occurred.
106
107The error can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>
108
109=head1 BUGS
110
111The trusted certificate store is not searched for the signing certificate,
112this is primarily due to the inadequacies of the current B<X509_STORE>
113functionality.
114
115The lack of single pass processing means that the signed content must all
116be held in memory if it is not detached.
117
118=head1 SEE ALSO
119
120L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_sign(3)|CMS_sign(3)>
121
122=head1 HISTORY
123
124CMS_verify() was added to OpenSSL 0.9.8
125
126=cut
diff --git a/src/lib/libssl/src/doc/crypto/CMS_verify_receipt.pod b/src/lib/libssl/src/doc/crypto/CMS_verify_receipt.pod
deleted file mode 100644
index 2beadda129..0000000000
--- a/src/lib/libssl/src/doc/crypto/CMS_verify_receipt.pod
+++ /dev/null
@@ -1,47 +0,0 @@
1=pod
2
3=head1 NAME
4
5CMS_verify_receipt - verify a CMS signed receipt
6
7=head1 SYNOPSIS
8
9 #include <openssl/cms.h>
10
11 int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, STACK_OF(X509) *certs, X509_STORE *store, unsigned int flags);
12
13=head1 DESCRIPTION
14
15CMS_verify_receipt() verifies a CMS signed receipt. B<rcms> is the signed
16receipt to verify. B<ocms> is the original SignedData structure containing the
17receipt request. B<certs> is a set of certificates in which to search for the
18signing certificate. B<store> is a trusted certificate store (used for chain
19verification).
20
21B<flags> is an optional set of flags, which can be used to modify the verify
22operation.
23
24=head1 NOTES
25
26This functions behaves in a similar way to CMS_verify() except the flag values
27B<CMS_DETACHED>, B<CMS_BINARY>, B<CMS_TEXT> and B<CMS_STREAM> are not
28supported since they do not make sense in the context of signed receipts.
29
30=head1 RETURN VALUES
31
32CMS_verify_receipt() returns 1 for a successful verification and zero if an
33error occurred.
34
35The error can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>
36
37=head1 SEE ALSO
38
39L<ERR_get_error(3)|ERR_get_error(3)>,
40L<CMS_sign_receipt(3)|CMS_sign_receipt(3)>,
41L<CMS_verify(3)|CMS_verify(3)>,
42
43=head1 HISTORY
44
45CMS_verify_receipt() was added to OpenSSL 0.9.8
46
47=cut