keeper_secrets_manager 17.0.4 → 17.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -15
- data/Gemfile +3 -3
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/lib/keeper_secrets_manager/config_keys.rb +2 -2
- data/lib/keeper_secrets_manager/core.rb +594 -394
- data/lib/keeper_secrets_manager/crypto.rb +106 -113
- data/lib/keeper_secrets_manager/dto/payload.rb +4 -4
- data/lib/keeper_secrets_manager/dto.rb +50 -32
- data/lib/keeper_secrets_manager/errors.rb +13 -2
- data/lib/keeper_secrets_manager/field_types.rb +3 -3
- data/lib/keeper_secrets_manager/folder_manager.rb +25 -29
- data/lib/keeper_secrets_manager/keeper_globals.rb +9 -15
- data/lib/keeper_secrets_manager/notation.rb +99 -92
- data/lib/keeper_secrets_manager/notation_enhancements.rb +22 -24
- data/lib/keeper_secrets_manager/storage.rb +35 -36
- data/lib/keeper_secrets_manager/totp.rb +27 -27
- data/lib/keeper_secrets_manager/utils.rb +83 -17
- data/lib/keeper_secrets_manager/version.rb +2 -2
- data/lib/keeper_secrets_manager.rb +3 -3
- metadata +7 -21
- data/DEVELOPER_SETUP.md +0 -0
- data/MANUAL_TESTING_GUIDE.md +0 -332
- data/RUBY_SDK_COMPLETE_DOCUMENTATION.md +0 -354
- data/RUBY_SDK_COMPREHENSIVE_SUMMARY.md +0 -192
- data/examples/01_quick_start.rb +0 -45
- data/examples/02_authentication.rb +0 -82
- data/examples/03_retrieve_secrets.rb +0 -81
- data/examples/04_create_update_delete.rb +0 -104
- data/examples/05_field_types.rb +0 -135
- data/examples/06_files.rb +0 -137
- data/examples/07_folders.rb +0 -145
- data/examples/08_notation.rb +0 -103
- data/examples/09_totp.rb +0 -100
- data/examples/README.md +0 -89
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a75902de495889b3464731f65dc951d778b7b6cde7be9efd6360fde92da3d7e1
|
|
4
|
+
data.tar.gz: 0e181c7f3bb27e2e43c57bfaf6690ddd3f0b2ecc7791fb9b62d900c3392ba865
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 35d50e5905926f05914d111465835dbe7996dc1c2de12480b092f9acc0569faab6140bce76811c2c085c5b4ea8875dff5d5f196555de95bd3dafc8c578dba606
|
|
7
|
+
data.tar.gz: 5425415543c572dcc55029c83c2d37c17d471df72da10da1f4da32bed3661c74f3778e50db91bedad4d76a480c82eb8e2dfd0ef3cc4e249b6d1682c3f68dcfce
|
data/CHANGELOG.md
CHANGED
|
@@ -1,21 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
### Fixed
|
|
6
|
+
- `update_secret` now correctly encrypts record data before sending to server
|
|
7
|
+
- `update_secret` now calls `finalize_secret_update` endpoint to persist changes
|
|
8
|
+
- Local record's revision number is automatically refreshed after successful update
|
|
9
|
+
- Consecutive updates on the same record object now work without manual refetching
|
|
10
|
+
- `download_file` now properly respects SSL certificate verification settings and disables CRL checking
|
|
11
|
+
- `upload_file` now uses correct `add_file` endpoint and includes required `ownerRecordRevision` in payload
|
|
12
|
+
- `create_folder` now properly encrypts folder key with AES-CBC and sets correct parent_uid (nil for root-level folders)
|
|
13
|
+
- Fixed AES-CBC encryption to not double-pad data (OpenSSL handles padding automatically)
|
|
14
|
+
|
|
15
|
+
## [17.1.0] - 2025-01-06
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- **BREAKING**: Minimum Ruby version increased to 3.1.0 (from 2.6.0)
|
|
19
|
+
- Users on older Ruby versions should upgrade or pin to keeper_secrets_manager <= 17.0.4
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
- ECC key generation now correctly returns 32-byte raw private keys (was returning 121-byte DER format)
|
|
23
|
+
- Client version now dynamically uses VERSION constant instead of hardcoded value
|
|
24
|
+
- Fixed Tests
|
|
25
|
+
|
|
26
|
+
## [17.0.4] - 2025-10-20
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Maintenance release with internal improvements
|
|
7
30
|
|
|
8
31
|
## [17.0.3] - 2025-06-25
|
|
9
32
|
|
|
10
33
|
### Changed
|
|
11
34
|
- Cleaned up directory structure
|
|
12
35
|
- Removed development and debug files from distribution
|
|
13
|
-
- Professional gem organization
|
|
14
36
|
|
|
15
37
|
## [17.0.2] - 2025-06-25
|
|
16
38
|
|
|
17
39
|
### Security
|
|
18
|
-
- Removed hardcoded credentials from example files
|
|
19
40
|
- Updated all examples to use environment variables or placeholders
|
|
20
41
|
|
|
21
42
|
## [17.0.1] - 2025-06-25
|
|
@@ -27,16 +48,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
27
48
|
|
|
28
49
|
### Added
|
|
29
50
|
- Initial release of Keeper Secrets Manager Ruby SDK
|
|
30
|
-
- Full compatibility with Keeper Secrets Manager API
|
|
31
|
-
- Dynamic record handling with JavaScript-style flexibility
|
|
32
|
-
- Support for all field types (login, password, url, host, etc.)
|
|
33
|
-
- File upload and download capabilities
|
|
34
|
-
- Folder management and hierarchy operations
|
|
35
|
-
- CRUD operations for records and folders
|
|
36
|
-
- Multiple storage backends (file, in-memory, environment, caching)
|
|
37
|
-
- Notation support for field access
|
|
38
|
-
- TOTP support (optional, requires base32 gem)
|
|
39
|
-
- Comprehensive error handling
|
|
40
51
|
- Ruby 2.6+ compatibility
|
|
41
52
|
|
|
42
53
|
### Security
|
data/Gemfile
CHANGED
|
@@ -4,10 +4,10 @@ source 'https://rubygems.org'
|
|
|
4
4
|
gemspec
|
|
5
5
|
|
|
6
6
|
group :development, :test do
|
|
7
|
-
gem 'rspec', '~> 3.12'
|
|
8
7
|
gem 'rake', '~> 13.0'
|
|
8
|
+
gem 'rspec', '~> 3.12'
|
|
9
|
+
gem 'rubocop', '~> 1.12.0'
|
|
9
10
|
gem 'simplecov', '~> 0.22'
|
|
10
11
|
gem 'webmock', '~> 3.18'
|
|
11
|
-
gem 'rubocop', '~> 1.12.0'
|
|
12
12
|
gem 'yard', '~> 0.9'
|
|
13
|
-
end
|
|
13
|
+
end
|
data/README.md
CHANGED
|
@@ -4,7 +4,7 @@ The Ruby SDK for Keeper Secrets Manager provides a flexible, dynamic interface f
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- **Ruby
|
|
7
|
+
- **Ruby 3.1+ Compatible**: Works with Chef, Puppet, and modern Ruby applications
|
|
8
8
|
- **Dynamic Record Handling**: JavaScript-style flexible records with no rigid class hierarchies
|
|
9
9
|
- **Minimal Dependencies**: Uses only Ruby standard library (no external runtime dependencies)
|
|
10
10
|
- **Comprehensive Crypto**: Full encryption/decryption support using OpenSSL
|
data/Rakefile
CHANGED
|
@@ -10,7 +10,7 @@ module KeeperSecretsManager
|
|
|
10
10
|
KEY_APP_KEY = 'appKey'.freeze
|
|
11
11
|
KEY_OWNER_PUBLIC_KEY = 'appOwnerPublicKey'.freeze
|
|
12
12
|
KEY_APP_UID = 'appUid'.freeze
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
# All valid keys
|
|
15
15
|
ALL_KEYS = [
|
|
16
16
|
KEY_URL,
|
|
@@ -24,4 +24,4 @@ module KeeperSecretsManager
|
|
|
24
24
|
KEY_APP_UID
|
|
25
25
|
].freeze
|
|
26
26
|
end
|
|
27
|
-
end
|
|
27
|
+
end
|