OLD | NEW |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 | 4 |
5 /* | 5 /* |
6 * Support routines for PKCS7 implementation, none of which are exported. | 6 * Support routines for PKCS7 implementation, none of which are exported. |
7 * This file should only contain things that are needed by both the | 7 * This file should only contain things that are needed by both the |
8 * encoding/creation side *and* the decoding/decryption side. Anything | 8 * encoding/creation side *and* the decoding/decryption side. Anything |
9 * else should just be static routines in the appropriate file. | 9 * else should just be static routines in the appropriate file. |
10 * | 10 * |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 /* | 42 /* |
43 * Return the single attribute value, doing some sanity checking first: | 43 * Return the single attribute value, doing some sanity checking first: |
44 * - Multiple values are *not* expected. | 44 * - Multiple values are *not* expected. |
45 * - Empty values are *not* expected. | 45 * - Empty values are *not* expected. |
46 */ | 46 */ |
47 extern SECItem *sec_PKCS7AttributeValue (SEC_PKCS7Attribute *attr); | 47 extern SECItem *sec_PKCS7AttributeValue (SEC_PKCS7Attribute *attr); |
48 | 48 |
49 /* | 49 /* |
50 * Encode a set of attributes (found in "src"). | 50 * Encode a set of attributes (found in "src"). |
51 */ | 51 */ |
52 extern SECItem *sec_PKCS7EncodeAttributes (PRArenaPool *poolp, | 52 extern SECItem *sec_PKCS7EncodeAttributes (PLArenaPool *poolp, |
53 SECItem *dest, void *src); | 53 SECItem *dest, void *src); |
54 | 54 |
55 /* | 55 /* |
56 * Make sure that the order of the attributes guarantees valid DER | 56 * Make sure that the order of the attributes guarantees valid DER |
57 * (which must be in lexigraphically ascending order for a SET OF); | 57 * (which must be in lexigraphically ascending order for a SET OF); |
58 * if reordering is necessary it will be done in place (in attrs). | 58 * if reordering is necessary it will be done in place (in attrs). |
59 */ | 59 */ |
60 extern SECStatus sec_PKCS7ReorderAttributes (SEC_PKCS7Attribute **attrs); | 60 extern SECStatus sec_PKCS7ReorderAttributes (SEC_PKCS7Attribute **attrs); |
61 | 61 |
62 | 62 |
63 /* | 63 /* |
64 * Create a context for decrypting, based on the given key and algorithm. | 64 * Create a context for decrypting, based on the given key and algorithm. |
65 */ | 65 */ |
66 extern sec_PKCS7CipherObject * | 66 extern sec_PKCS7CipherObject * |
67 sec_PKCS7CreateDecryptObject (PK11SymKey *key, SECAlgorithmID *algid); | 67 sec_PKCS7CreateDecryptObject (PK11SymKey *key, SECAlgorithmID *algid); |
68 | 68 |
69 /* | 69 /* |
70 * Create a context for encrypting, based on the given key and algorithm, | 70 * Create a context for encrypting, based on the given key and algorithm, |
71 * and fill in the algorithm id. | 71 * and fill in the algorithm id. |
72 */ | 72 */ |
73 extern sec_PKCS7CipherObject * | 73 extern sec_PKCS7CipherObject * |
74 sec_PKCS7CreateEncryptObject (PRArenaPool *poolp, PK11SymKey *key, | 74 sec_PKCS7CreateEncryptObject (PLArenaPool *poolp, PK11SymKey *key, |
75 SECOidTag algtag, SECAlgorithmID *algid); | 75 SECOidTag algtag, SECAlgorithmID *algid); |
76 | 76 |
77 /* | 77 /* |
78 * Destroy the given decryption or encryption object. | 78 * Destroy the given decryption or encryption object. |
79 */ | 79 */ |
80 extern void sec_PKCS7DestroyDecryptObject (sec_PKCS7CipherObject *obj); | 80 extern void sec_PKCS7DestroyDecryptObject (sec_PKCS7CipherObject *obj); |
81 extern void sec_PKCS7DestroyEncryptObject (sec_PKCS7CipherObject *obj); | 81 extern void sec_PKCS7DestroyEncryptObject (sec_PKCS7CipherObject *obj); |
82 | 82 |
83 /* | 83 /* |
84 * What will be the output length of the next call to encrypt/decrypt? | 84 * What will be the output length of the next call to encrypt/decrypt? |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 unsigned int *output_len_p, | 130 unsigned int *output_len_p, |
131 unsigned int max_output_len, | 131 unsigned int max_output_len, |
132 const unsigned char *input, | 132 const unsigned char *input, |
133 unsigned int input_len, | 133 unsigned int input_len, |
134 PRBool final); | 134 PRBool final); |
135 | 135 |
136 /************************************************************************/ | 136 /************************************************************************/ |
137 SEC_END_PROTOS | 137 SEC_END_PROTOS |
138 | 138 |
139 #endif /* _P7LOCAL_H_ */ | 139 #endif /* _P7LOCAL_H_ */ |
OLD | NEW |