summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/p5_pbev2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/p5_pbev2.c')
-rw-r--r--src/lib/libcrypto/asn1/p5_pbev2.c54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/p5_pbev2.c b/src/lib/libcrypto/asn1/p5_pbev2.c
index 0947965219..1189e7e26b 100644
--- a/src/lib/libcrypto/asn1/p5_pbev2.c
+++ b/src/lib/libcrypto/asn1/p5_pbev2.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p5_pbev2.c,v 1.18 2014/10/22 13:02:03 jsing Exp $ */ 1/* $OpenBSD: p5_pbev2.c,v 1.19 2015/02/09 15:05:59 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999-2004. 3 * project 1999-2004.
4 */ 4 */
@@ -71,7 +71,31 @@ ASN1_SEQUENCE(PBE2PARAM) = {
71 ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR) 71 ASN1_SIMPLE(PBE2PARAM, encryption, X509_ALGOR)
72} ASN1_SEQUENCE_END(PBE2PARAM) 72} ASN1_SEQUENCE_END(PBE2PARAM)
73 73
74IMPLEMENT_ASN1_FUNCTIONS(PBE2PARAM) 74
75PBE2PARAM *
76d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len)
77{
78 return (PBE2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
79 &PBE2PARAM_it);
80}
81
82int
83i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out)
84{
85 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it);
86}
87
88PBE2PARAM *
89PBE2PARAM_new(void)
90{
91 return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it);
92}
93
94void
95PBE2PARAM_free(PBE2PARAM *a)
96{
97 ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it);
98}
75 99
76ASN1_SEQUENCE(PBKDF2PARAM) = { 100ASN1_SEQUENCE(PBKDF2PARAM) = {
77 ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY), 101 ASN1_SIMPLE(PBKDF2PARAM, salt, ASN1_ANY),
@@ -80,7 +104,31 @@ ASN1_SEQUENCE(PBKDF2PARAM) = {
80 ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR) 104 ASN1_OPT(PBKDF2PARAM, prf, X509_ALGOR)
81} ASN1_SEQUENCE_END(PBKDF2PARAM) 105} ASN1_SEQUENCE_END(PBKDF2PARAM)
82 106
83IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM) 107
108PBKDF2PARAM *
109d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len)
110{
111 return (PBKDF2PARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
112 &PBKDF2PARAM_it);
113}
114
115int
116i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out)
117{
118 return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it);
119}
120
121PBKDF2PARAM *
122PBKDF2PARAM_new(void)
123{
124 return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it);
125}
126
127void
128PBKDF2PARAM_free(PBKDF2PARAM *a)
129{
130 ASN1_item_free((ASN1_VALUE *)a, &PBKDF2PARAM_it);
131}
84 132
85/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm: 133/* Return an algorithm identifier for a PKCS#5 v2.0 PBE algorithm:
86 * yes I know this is horrible! 134 * yes I know this is horrible!