Re: [GENERAL] pgAdmin4 needs information of v10 SCRAM authentication

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-general(at)postgresql(dot)org>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [GENERAL] pgAdmin4 needs information of v10 SCRAM authentication
Date: 2017-04-24 06:04:27
Message-ID: CANxoLDcWkwwz30hs2vXAJTxzoa-i_mmJfr5s5=4WwE_Uu0rt0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers pgsql-general

Hi Michael

On Fri, Apr 21, 2017 at 12:07 PM, Michael Paquier <michael(dot)paquier(at)gmail(dot)com
> wrote:

> On Fri, Apr 21, 2017 at 3:27 PM, Akshay Joshi
> <akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
> > from passlib.hash import scram
> > hash = scram.encrypt(data['newPassword']) -- This function provide
> password for all the supported digest like [md5, sha-1, sha-256, sha-512].
> Didn't work I have tried with all the passwords.
> > test = scram.extract_digest_info(hash, "sha-256") -- This function
> extract info for specified digest "sha-256". I have retrieve the password
> which was in hexadecimal. Didn't work as well.
> >
> > Now I am stuck here and no clue how to encrypt/decrypt the password for
> SCRAM authentication. Can someone guide me out here.
>
> Here you go:
> https://www.postgresql.org/message-id/76ac7e67-4e3a-f4df-
> e087-fbac90151907(at)iki(dot)fi

I have gone through this, but still facing issue to encrypt/change the
database server password. In pgAdmin4 we have "Change Password" feature
where user will enter the old and new password for the database server, now
we will have to encrypt it (in Python) as per SCRAM standards and set it to
the database.

The example you have given in https://www.postgresql.org/
message-id/76ac7e67-4e3a-f4df-e087-fbac90151907(at)iki(dot)fi I have below
questions:

- To encode the password you already have entry from pg_authid table
which won't be possible for non superuser to access that table. How we can
get that value from pg_authid table or do we have any other solution to
this.
- For constructing the whole client-final-message, we need to calculate
* ClientSignature* and *ClientProof*, which depend on the nonces, and is
therefore different on every authentication exchange. How to calculate
*ClientSignature* and *ClientProof?*

Can you please guide me here, how can we achieve that in python.

>
> --
> Michael
>

--
*Akshay Joshi*
*Principal Software Engineer *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Michael Paquier 2017-04-24 06:22:10 Re: [GENERAL] pgAdmin4 needs information of v10 SCRAM authentication
Previous Message Murtuza Zabuawala 2017-04-24 05:17:53 [pgAdmin4][PATCH] To fix the issue with Node rename

Browse pgsql-general by date

  From Date Subject
Next Message Michael Paquier 2017-04-24 06:22:10 Re: [GENERAL] pgAdmin4 needs information of v10 SCRAM authentication
Previous Message Adrian Klaver 2017-04-24 04:22:35 Re: Strange Issue between PSQL 9.3 and Label Zebra Printer?