diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/p5_pbev2.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/p5_pbev2.c | 54 |
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 | ||
| 74 | IMPLEMENT_ASN1_FUNCTIONS(PBE2PARAM) | 74 | |
| 75 | PBE2PARAM * | ||
| 76 | d2i_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 | |||
| 82 | int | ||
| 83 | i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out) | ||
| 84 | { | ||
| 85 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBE2PARAM_it); | ||
| 86 | } | ||
| 87 | |||
| 88 | PBE2PARAM * | ||
| 89 | PBE2PARAM_new(void) | ||
| 90 | { | ||
| 91 | return (PBE2PARAM *)ASN1_item_new(&PBE2PARAM_it); | ||
| 92 | } | ||
| 93 | |||
| 94 | void | ||
| 95 | PBE2PARAM_free(PBE2PARAM *a) | ||
| 96 | { | ||
| 97 | ASN1_item_free((ASN1_VALUE *)a, &PBE2PARAM_it); | ||
| 98 | } | ||
| 75 | 99 | ||
| 76 | ASN1_SEQUENCE(PBKDF2PARAM) = { | 100 | ASN1_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 | ||
| 83 | IMPLEMENT_ASN1_FUNCTIONS(PBKDF2PARAM) | 107 | |
| 108 | PBKDF2PARAM * | ||
| 109 | d2i_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 | |||
| 115 | int | ||
| 116 | i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out) | ||
| 117 | { | ||
| 118 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBKDF2PARAM_it); | ||
| 119 | } | ||
| 120 | |||
| 121 | PBKDF2PARAM * | ||
| 122 | PBKDF2PARAM_new(void) | ||
| 123 | { | ||
| 124 | return (PBKDF2PARAM *)ASN1_item_new(&PBKDF2PARAM_it); | ||
| 125 | } | ||
| 126 | |||
| 127 | void | ||
| 128 | PBKDF2PARAM_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! |
