72 #define DAV_SHA256_DIGEST_LENGTH 32 |
72 #define DAV_SHA256_DIGEST_LENGTH 32 |
73 |
73 |
74 #else |
74 #else |
75 /* unix/linux */ |
75 /* unix/linux */ |
76 |
76 |
|
77 #include <openssl/evp.h> |
|
78 #include <openssl/rand.h> |
|
79 |
77 #define DAV_USE_OPENSSL |
80 #define DAV_USE_OPENSSL |
78 |
81 |
79 #define DAV_AES_CTX EVP_CIPHER_CTX* |
82 #define DAV_AES_CTX EVP_CIPHER_CTX* |
|
83 |
|
84 #if OPENSSL_VERSION_NUMBER < 0x30000000L |
80 #define DAV_SHA_CTX SHA256_CTX |
85 #define DAV_SHA_CTX SHA256_CTX |
|
86 #else |
|
87 #define DAV_SHA_CTX EVP_MD_CTX* |
|
88 #endif |
81 #define DAV_SHA256_DIGEST_LENGTH 32 |
89 #define DAV_SHA256_DIGEST_LENGTH 32 |
82 |
90 |
83 #include <openssl/evp.h> |
|
84 #include <openssl/rand.h> |
|
85 |
91 |
86 #if defined(__sun) && defined(__SunOS_5_10) |
92 #if defined(__sun) && defined(__SunOS_5_10) |
87 #include <sha2.h> |
93 #include <sha2.h> |
88 #define SHA256_Init SHA256Init |
94 #define SHA256_Init SHA256Init |
89 #define SHA256_Update SHA256Update |
95 #define SHA256_Update SHA256Update |
147 |
153 |
148 void dav_get_hash(DAV_SHA_CTX *sha256, unsigned char *buf); |
154 void dav_get_hash(DAV_SHA_CTX *sha256, unsigned char *buf); |
149 |
155 |
150 char* dav_create_hash(const char *data, size_t len); |
156 char* dav_create_hash(const char *data, size_t len); |
151 |
157 |
152 DAV_SHA_CTX* dav_hash_init(void); |
158 void dav_sha256_init(DAV_SHA_CTX *ctx); |
153 void dav_hash_update(DAV_SHA_CTX *ctx, const char *data, size_t len); |
159 DAV_SHA_CTX* dav_sha256_create(void); |
154 void dav_hash_final(DAV_SHA_CTX *ctx, unsigned char *buf); |
160 void dav_sha256_update(DAV_SHA_CTX *ctx, const char *data, size_t len); |
|
161 void dav_sha256_final(DAV_SHA_CTX *ctx, unsigned char *buf); |
155 |
162 |
156 DavKey* dav_pw2key(const char *password, const unsigned char *salt, int saltlen, int pwfunc, int enc); |
163 DavKey* dav_pw2key(const char *password, const unsigned char *salt, int saltlen, int pwfunc, int enc); |
157 |
164 |
158 CxBuffer* aes_encrypt_buffer(CxBuffer *in, DavKey *key); |
165 CxBuffer* aes_encrypt_buffer(CxBuffer *in, DavKey *key); |
159 CxBuffer* aes_decrypt_buffer(CxBuffer *in, DavKey *key); |
166 CxBuffer* aes_decrypt_buffer(CxBuffer *in, DavKey *key); |