libidav/crypto.h

changeset 857
03982275f29b
parent 747
efbd59642577
equal deleted inserted replaced
856:0f1349ffa719 857:03982275f29b
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);

mercurial