keeper_secrets_manager 17.1.0 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,7 @@ module KeeperSecretsManager
35
35
 
36
36
  # Base64 decode
37
37
  def base64_to_bytes(str)
38
+ raise Error, 'base64_to_bytes: received nil' if str.nil?
38
39
  Base64.strict_decode64(str)
39
40
  rescue ArgumentError => e
40
41
  raise Error, "Invalid base64: #{e.message}"
@@ -42,7 +43,7 @@ module KeeperSecretsManager
42
43
 
43
44
  # URL-safe base64 encode (with padding)
44
45
  def url_safe_str_to_bytes(str)
45
- # Add padding if needed
46
+ raise Error, 'url_safe_str_to_bytes: received nil' if str.nil?
46
47
  str += '=' * (4 - str.length % 4) if str.length % 4 != 0
47
48
  Base64.urlsafe_decode64(str)
48
49
  end
@@ -1,3 +1,3 @@
1
1
  module KeeperSecretsManager
2
- VERSION = '17.1.0'.freeze
2
+ VERSION = '17.2.0'.freeze
3
3
  end
@@ -8,6 +8,8 @@ require 'keeper_secrets_manager/storage'
8
8
  require 'keeper_secrets_manager/dto'
9
9
  require 'keeper_secrets_manager/field_types'
10
10
  require 'keeper_secrets_manager/notation'
11
+ require 'keeper_secrets_manager/notation_enhancements'
12
+ require 'keeper_secrets_manager/cache'
11
13
  require 'keeper_secrets_manager/core'
12
14
  require 'keeper_secrets_manager/folder_manager'
13
15
 
@@ -30,6 +32,12 @@ module KeeperSecretsManager
30
32
  Core::SecretsManager.new(options.merge(token: token))
31
33
  end
32
34
 
35
+ # Convenience method to create from base64 config string
36
+ def self.from_config(config_base64, options = {})
37
+ storage = Storage::InMemoryStorage.new(config_base64)
38
+ Core::SecretsManager.new(options.merge(config: storage))
39
+ end
40
+
33
41
  # Convenience method to create from config file
34
42
  def self.from_file(filename, options = {})
35
43
  storage = Storage::FileStorage.new(filename)
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keeper_secrets_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 17.1.0
4
+ version: 17.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keeper Security
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-11-06 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2026-07-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: logger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description: Ruby SDK for Keeper Secrets Manager - A zero-knowledge platform for managing
14
42
  and protecting infrastructure secrets
15
43
  email:
@@ -25,7 +53,10 @@ files:
25
53
  - LICENSE
26
54
  - README.md
27
55
  - Rakefile
56
+ - bin/console
57
+ - keeper_secrets_manager.gemspec
28
58
  - lib/keeper_secrets_manager.rb
59
+ - lib/keeper_secrets_manager/cache.rb
29
60
  - lib/keeper_secrets_manager/config_keys.rb
30
61
  - lib/keeper_secrets_manager/core.rb
31
62
  - lib/keeper_secrets_manager/crypto.rb