当前位置: 首页 > 知识库问答 >
问题:

pgbounker和scram sha-256设置

宰父志新
2023-03-14

我能够让SCRAM-SHA-256身份验证与pgpool一起使用,但是我还没有找到一个很好的例子来设置pgbouner。我正在尝试使用auth_query。在postgres中,pgbounker将连接的用户将密码加密并存储在SCRAM-SHA-256中。但是我不知道如何在userlist.txt.中创建条目这应该是格式:

SCRAM-SHA-256$<iterations>:<salt>$<storedkey>:<serverkey>

存储密钥和服务器密钥到底是什么,我如何生成它们?我可以使用哪些工具来创建它?在pgpool中,我可以使用pg_enc但我看不到pgbouncher的任何内容。

共有1个答案

庄兴发
2023-03-14

您不会自己构造 SCRAM 散列密码,而是通过查询 PostgreSQL 数据库的 pg_authid 表来获得它:

SELECT rolpassword
FROM pg_authid
WHERE rolname = 'pgbouncer';

然而,正如文件所说:

存储在身份验证文件中的密码或秘密有两个用途。首先,如果配置了基于密码的身份验证方法,它们用于验证传入客户端连接的密码。第二,如果后端服务器需要基于密码的身份验证(除非密码是在数据库的连接字符串中直接指定的),它们将用作后端服务器的传出连接的密码。如果密码以明文或MD5哈希存储,则后者有效。如果客户端身份验证也使用SCRAM,PgBouncer数据库定义未指定用户名,并且SCRAM机密在PgBouncer和PostgreSQL服务器中是相同的(相同的salt和迭代,而不仅仅是相同的密码),则SCRAM机密只能用于登录服务器。这是由于SCRAM固有的安全属性:存储的SCRAM秘密本身不能用于导出登录凭证。

因此,如果该用户被用作< code>auth_user,则不能为该用户使用SCRAM散列密码,而必须使用明文密码。

 类似资料:
  • 问题内容: 我有几个库,C#,PHP和Android,它们都以相同的方式加密/解密字符串,因此它们彼此兼容,即C#将数据写入和加密到数据库中,PHP可以成功解密并返回原始字符串。 现在,我需要对标准Java应用程序执行相同的操作,因此我已经从Android库中获取了代码,并且需要库,但是却遇到了异常。据我所知,代码不是特定于Android的,因此应该不是问题。 下面是我的加密功能 当我打电话时,出

  • 客户端: 服务器端:

  • 有一段时间没写加密了,还忘了一些东西。 我记得,为了使使用相同键的相同数据的输出不同,我想在字节数组的一端对数据进行salt处理,然后使用CBC模式,这样salt就可以完成它的任务。 但是我想不起来加密的方向是什么了,应该把salt放在0的位置,然后把要加密的数据放在它后面,还是把salt放在最后?我知道CBC模式工作最好的时候,盐是第一块在链。 我使用的是AesCryptoServiceProv

  • 问题内容: 我使用RSA建立SSL我的春节,引导服务器(如何配置SSL /HTTPS的春天?通过以下)的指导: 使用创建了一个新的密钥库和密钥 将这些行放在我的application.properties文件中: 奇迹般有效。但是,当我通过运行生成AES 256密钥并将.properties文件更改为新的密钥存储区/密钥值时,对服务器的每个请求均导致。我应该遵循什么步骤来成功配置它? 问题答案:

  • 问题内容: 我正在尝试使用PyCrypto构建两个接受两个参数的函数:消息和密钥,然后对消息进行加密/解密。 我在网络上找到了几个链接可以帮助我,但是每个链接都有缺陷: 在codekoala上的此代码使用了os.urandom,PyCrypto不建议这样做。 此外,我不能保证给函数的键具有预期的确切长度。我该怎么做才能做到这一点? 另外,有几种模式,推荐哪种?我不知道该怎么用:/ 最后,IV到底是

  • 问题内容: 我不明白 XSLX表的大小约为3MB,但即使1024MB的RAM也不足以使PHPExcel将其加载到内存中? 我在这里可能做错了什么: 上面的函数将数据从excel表读取到数组。 有什么建议么? 首先,我允许PHP使用256MB的RAM。这还不够。然后,我将容量增加了一倍,然后又尝试了1024MB。它仍然会因以下错误而用完内存: 问题答案: 在PHPExcel论坛上已经有很多关于PHP