如何在 Ruby 上读取使用名为 rails-env-credentials 的 gem 创建的加密文件?
How I can read the encrypted file created with the gem called rails-env-credentials on Ruby?
我目前正在做一个项目,我必须加密 id 和密码,所以我决定使用名为 rails-env-credentials
https://github.com/sinsoku/rails-env-credentials
的 gem
创建一些文件用于开发似乎没问题,但我无法在控制台或 Web 上读取文件。
我想这可能是因为我没有设置一些我没有想到的东西,或者我试图以错误的方式获取值。
用这样的命令rails env_credentials:edit -e development
,我制作了config/credentials/development.yml.enc,其中加密了这个
的字符串
aws:
access_key_id: 123
secret_access_key: 345
并且在 config/credentials/development.key 文件中,会自动创建类似这样的内容。
<rails secret key>
我希望通过调用它来获取文件的值。
Rails.application.credentials.aws
但我得到 nil
。
当我在控制台上执行 Rails.application.credentials
时,我得到了这样的结果。
#<ActiveSupport::EncryptedConfiguration:0x000055882a4965f8
@key_path=#<Pathname:config/master-development.key>,
@content_path=#Pathname:config/credentials-development.yml.enc>,
@env_key="RAILS_MASTER_KEY_DEVELOPMENT",
@raise_if_missing_key=false, @config={}, @options={}>
由于没有错误,我在同一个地方堆了好几天。
如果您有任何想法,请告诉我。
我真的很感激。
编辑****
在加密文件中,有这样的东西。
而且我想我试图像从哈希中获取值那样获取值,但我无法正确获取它。
我试过
很抱歉,但我不知道如何解决这个问题...
我必须用 master.key 做些什么吗?
这是读取凭据的方式
Rails.application.credentials.dig(:aws, :access_key_id)
Rails.application.credentials.dig(:aws, :secret_access_key)
读取凭据的简单方法
Rails.application.credentials.aws[:access_key_id]
Rails.application.credentials.aws[:secret_access_key]
如果您仍然卡在那里,那么这是读取凭据的方法
Rails.application.credentials.config.dig(:aws, :access_key_id)
Rails.application.credentials.config.dig(:aws, :secret_access_key)
我目前正在做一个项目,我必须加密 id 和密码,所以我决定使用名为 rails-env-credentials
https://github.com/sinsoku/rails-env-credentials
创建一些文件用于开发似乎没问题,但我无法在控制台或 Web 上读取文件。
我想这可能是因为我没有设置一些我没有想到的东西,或者我试图以错误的方式获取值。
用这样的命令rails env_credentials:edit -e development
,我制作了config/credentials/development.yml.enc,其中加密了这个
aws:
access_key_id: 123
secret_access_key: 345
并且在 config/credentials/development.key 文件中,会自动创建类似这样的内容。
<rails secret key>
我希望通过调用它来获取文件的值。
Rails.application.credentials.aws
但我得到 nil
。
当我在控制台上执行 Rails.application.credentials
时,我得到了这样的结果。
#<ActiveSupport::EncryptedConfiguration:0x000055882a4965f8
@key_path=#<Pathname:config/master-development.key>,
@content_path=#Pathname:config/credentials-development.yml.enc>,
@env_key="RAILS_MASTER_KEY_DEVELOPMENT",
@raise_if_missing_key=false, @config={}, @options={}>
由于没有错误,我在同一个地方堆了好几天。 如果您有任何想法,请告诉我。 我真的很感激。
编辑****
在加密文件中,有这样的东西。
我试过
很抱歉,但我不知道如何解决这个问题...
我必须用 master.key 做些什么吗?
这是读取凭据的方式
Rails.application.credentials.dig(:aws, :access_key_id)
Rails.application.credentials.dig(:aws, :secret_access_key)
读取凭据的简单方法
Rails.application.credentials.aws[:access_key_id]
Rails.application.credentials.aws[:secret_access_key]
如果您仍然卡在那里,那么这是读取凭据的方法
Rails.application.credentials.config.dig(:aws, :access_key_id)
Rails.application.credentials.config.dig(:aws, :secret_access_key)