Problem with encode () and hmac() in pgcrypto - Mailing list pgsql-general

From hlcborg
Subject Problem with encode () and hmac() in pgcrypto
Date
Msg-id 1296574616113-3366420.post@n5.nabble.com
Whole thread Raw
Responses Re: Problem with encode () and hmac() in pgcrypto  (Marko Kreen <markokr@gmail.com>)
List pgsql-general
Hi,

I am trying to compute a hash string with 172 bytes.
I have a openssl RSA private key stored in the postgresql db and a string
with some text.

I want to sign that string with the private key and the SHA1 algorithm and
encode the result in the base64 format.

I am writing it inside the pg database in a function that performs other
stuff.

String to sign:

v_em_crt_conc = '2011-01-31;2011-02-01T13:33:38;100036;684.40; '

Private RSA Key:
This Key was genarated in OpenSSL with this command:
~$openssl genrsa -out abc.pem 1024 and then copied the content to v_Private

v_Private =
'MIICXAIBAAKBgQCfaFpbOjsz0fKygWc9zdvu1XjOSJEZJ9XwlAyayxt2A57OUjxJ
GJZBwZDLWx+rYga2B04v5MigY9q/TfrSzbQZpmPf6hC/U36y7pgPce1ijosl7/on
4UejIlLAcqJgkoJVrkaRp0NuX5hcmFiR2z8b+ypHtF3t/JOHkz+gUAmc7wIDAQAB
AoGBAIuNcbz356hgHpaDjvyeYfJe1FnTUaOyKitpkPda5HmWhcqeV8SuT6zVZouB
BOKm+LUXBC4Nnk473N8px3IRP57rCaLwFdQCrfVMieAkdVPoLIryofo81jF4bbOo
yUJ1E901lCbSW8bnPhrWz1zFVWBUHoik2aWIiETs8v7HD8RBAkEA0YKX0SngYo6J
5BX8en9kG0cpE/oXrTOP5cTXuyOK/bG2pikVXfozSIZx3rbszAtAjSH72Mi/djLo
WsbEKL0KEQJBAMLHpLOssg06Hyj6XYGi8l6Yhxy2Vsv6qtwbxZ3soysuZrcmxgNm
ek1wVyDsuTKRPQYcFgyi2fhaucXPKgzNNv8CQAIqDDFv8k5yVIBTrdECIeGaQZVg
PwBeCP2BpAzd2CC4xj8/K2ZWIFN+eAyp7RZKg3cxw61AnaG18uqFJR+anFECQB8b
yadUpp9MMBvYWMTSpIkNLU8dpCEx6MX8vYQqfijwYUFRNQDoBhKGJbRBepaj8a4f
IDpmbA+pVdBM9PdUczsCQGrwaHYQw0NhUz2WIGvog8HUbkyAPLiWLpwWvwpjoAFs
LcoEyU/UxuNTwGSL3o5aYCo1RFCZH0sBnhd4S0DH0JI='

The FUNCTION:

encode(hmac(v_em_crt_conc, v_Private,'sha1'),'base64');

The Result:

h6CpmrP1QCE/Mp3xn3utUEPtftg=      This hash has 28 chars


When I use OpenSSL in command line like this:

~$ echo "2011-01-31;2011-02-01T13:33:38;100036;684.40; " | openssl dgst
-sha1 -sign abc.pem | openssl enc -base64 -A

The Result is:


nKfxnt31+kk/RnKihJ0jKufq+nZvmPjVauGo8+tqJ1Y/ah/mAu4jSS1wnzU+wRygZ4CLIV9DGSs9bxBc4r9e71C8s9B5ms6Kpggmc12kdmqVHBRO28bPWb/YLCej59gZFFkvcCudweNAT4qHvVqWsOtFCf9kE4q92UIv1JcwSDU=

This hash has 172 chars

Does someone know where is my problem? Is there other way to implement?  or
is it simply impossible??

Thanks in advance

Luis




--
View this message in context:
http://postgresql.1045698.n5.nabble.com/Problem-with-encode-and-hmac-in-pgcrypto-tp3366420p3366420.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

pgsql-general by date:

Previous
From: bricklen
Date:
Subject: Re: PD_ALL_VISIBLE flag was incorrectly set in relation "pg_statistic"
Next
From: Andy Colson
Date:
Subject: Re: Cluster table and order information