Hello,

Pgcrypto SHA 256/384/512 algorithm don't work on RedHat:

db=# SELECT digest('test', 'sha1');
                                digest
----------------------------------------------------------------------
 \251J\217\345\314\261\233\246\034L\010s\323\221\351\207\230/\273\323
(1 row)

db=# SELECT digest('test', 'sha256');
ERROR:  Cannot use "sha256": No such hash algorithm


I have standard Fedora Core 4 installed with standard PostgreSQL 8.1.3
Pgcrypto documentation says that it has built-in SHA256 and it should work when OpenSSL is not found:

==============
Without OpenSSL, public-key encryption does not work, as pgcrypto does
not yet contain math functions for large integers.
 

Functionality                built-in   OpenSSL
----------------------------------------------------
 MD5                          yes       yes
 SHA1                         yes       yes
 SHA256/384/512               yes       since 0.9.8

=================

Fedora core has OpenSSL 0.9.7 installed by default. And it's not possible to install 0.9.8 because of glibc conflict.

I suspect pgcrypto looks for SHA256 in OpeSSL lib when it should use built-in.
SHA256 is working fine on Windows but on Redhat it fails. Maybe because windows pgcrypto DLL is compiled statically with OpenSSL?

How to make pgcrypto use built-in sha256?


Thanks.

Reply via email to