| 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); |