1968 Commits

Author SHA1 Message Date
Vault Automation
c6170d36a8
Add the ability for a plugin to specify extra fields for auditing purposes (#11018) (#12167)
* Add the ability to specify extra audit only fields from a plugin

* Add extra auditing fields within the PKI OCSP handler

* Add missing copywrite headers

* Format OCSP dates when non-zero, otherwise specify not set to be clear

* Feedback 2: Only set time fields if not zero instead of non-parsable string

* Serialize JSON fields in SDK response struct

* Perform renames based on RFC feedback

* Resolve OpenAPI test failure

* add cl

Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2026-02-04 15:41:54 +00:00
Vault Automation
caf642b7d2
Backport Vault 42177 Add Backend Field into ce/main (#12152)
* Vault 42177 Add Backend Field (#12092)

* add a new struct for the total number of successful requests for transit and transform

* implement tracking for encrypt path

* implement tracking in encrypt path

* add tracking in rewrap

* add tracking to datakey path

* add tracking to  hmac path

* add tracking to sign  path

* add tracking to verify path

* unit tests for verify path

* add tracking to cmac path

* reset the global counter in each unit test

* add tracking to hmac verify

* add methods to retrieve and flush transit count

* modify the methods that store and update data protection call counts

* update the methods

* add a helper method to combine replicated and local data call counts

* add tracking to the endpoint

* fix some formatting errors

* add unit tests to path encrypt for tracking

* add unit tests to decrypt path

* fix linter error

* add unit tests to test update and store methods for data protection calls

* stub fix: do not create separate files

* fix the tracking by coordinating replicated and local data, add unit tests

* update all reference to the new data struct

* revert to previous design with just one global counter for all calls for each cluster

* complete external test

* no need to check if current count is greater than 0, remove it

* feedback: remove unnacassary comments about atomic addition, standardize comments

* leave jira id on todo comment, remove unused method

* rename mathods by removing HWM and max in names, update jira id in todo comment, update response field key name

* feedback: remove explicit counter in cmac tests, instead put in the expected number

* feedback: remove explicit tracking in the rest of the tests

* feedback: separate transit testing into its own external test

* Update vault/consumption_billing_util_test.go

Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>

* update comment after test name change

* fix comments

* fix comments in test

* another comment fix

* feedback: remove incorrect comment

* fix a CE test

* fix the update method: instead of storing max, increment by the current count value

* update the unit test, remove local prefix as argument to the methods since we store only to non-replicated paths

* update the external test

* Adds a field to backend to track billing data

removed file

* Changed implementation to use a map instead

* Some more comments

* Add more implementation

* Edited grpc server backend

* Refactored a bit

* Fix one more test

* Modified map:

* Revert "Modified map:"

This reverts commit 1730fe1f358b210e6abae43fbdca09e585aaaaa8.

* Removed some other things

* Edited consumption billing files a bit

* Testing function

* Fix transit stuff and make sure tests pass

* Changes

* More changes

* More changes

* Edited external test

* Edited some more tests

* Edited and fixed tests

* One more fix

* Fix some more tests

* Moved some testing structures around and added error checking

* Fixed some nits

* Update builtin/logical/transit/path_sign_verify.go

Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>

* Edited some errors

* Fixed error logs

* Edited one more thing

* Decorate the error

* Update vault/consumption_billing.go

Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>

---------

Co-authored-by: Amir Aslamov <amir.aslamov@hashicorp.com>
Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>

* Edited stub function

---------

Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>
Co-authored-by: Amir Aslamov <amir.aslamov@hashicorp.com>
Co-authored-by: Nick Cabatoff <ncabatoff@hashicorp.com>
Co-authored-by: divyaac <divyaac@berkeley.edu>
2026-02-03 22:48:12 +00:00
Vault Automation
a728a665e1
Random API improvements (#12119) (#12143)
* In the random APIs, add a 'prng' param that causes a DRBG seeded from the selected source(s) to be the source of the returned bytes

* fixes, unit test next

* unit tests

* changelog

* memory ramifications

* switch to using a string called drbg

* Update helper/random/random_api.go



* wrong changelog

---------

Co-authored-by: Scott Miller <smiller@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2026-02-03 20:02:48 +00:00
Vault Automation
81c1c3778b
VAULT-41092: transit engine metrics (#11814) (#12103)
* add a new struct for the total number of successful requests for transit and transform

* implement tracking for encrypt path

* implement tracking in encrypt path

* add tracking in rewrap

* add tracking to datakey path

* add tracking to  hmac path

* add tracking to sign  path

* add tracking to verify path

* unit tests for verify path

* add tracking to cmac path

* reset the global counter in each unit test

* add tracking to hmac verify

* add methods to retrieve and flush transit count

* modify the methods that store and update data protection call counts

* update the methods

* add a helper method to combine replicated and local data call counts

* add tracking to the endpoint

* fix some formatting errors

* add unit tests to path encrypt for tracking

* add unit tests to decrypt path

* fix linter error

* add unit tests to test update and store methods for data protection calls

* stub fix: do not create separate files

* fix the tracking by coordinating replicated and local data, add unit tests

* update all reference to the new data struct

* revert to previous design with just one global counter for all calls for each cluster

* complete external test

* no need to check if current count is greater than 0, remove it

* feedback: remove unnacassary comments about atomic addition, standardize comments

* leave jira id on todo comment, remove unused method

* rename mathods by removing HWM and max in names, update jira id in todo comment, update response field key name

* feedback: remove explicit counter in cmac tests, instead put in the expected number

* feedback: remove explicit tracking in the rest of the tests

* feedback: separate transit testing into its own external test

* Update vault/consumption_billing_util_test.go



* update comment after test name change

* fix comments

* fix comments in test

* another comment fix

* feedback: remove incorrect comment

* fix a CE test

* fix the update method: instead of storing max, increment by the current count value

* update the unit test, remove local prefix as argument to the methods since we store only to non-replicated paths

* update the external test

* fix a bug: reset the counter everyime we update the stored counter value to prevent double-counting

* update one of the tests

* update external test

---------

Co-authored-by: Amir Aslamov <amir.aslamov@hashicorp.com>
Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>
2026-01-30 15:16:05 -05:00
Vault Automation
744024c83e
VAULT-41729 Refactor PKI Cert Counting Code (#11657) (#11881)
* Basic refactoring to reuse PKI certs for SSH

* Refactored so that files are moved to CE

* Modified comment

* Renamed CertCountSystemView

* Moved forwarding function and redefined consume function

* Renamed cert view file

* Moved forwarding function and redefined consume function

Small edit

Renamed cert view file

* Fix issues with commit

* Fix consume job

* Removed error

* Update vault/logical_system_helpers.go



---------

Co-authored-by: divyaac <divya.chandrasekaran@hashicorp.com>
Co-authored-by: Victor Rodriguez <vrizo@hashicorp.com>
2026-01-26 08:28:41 -05:00
Vault Automation
ae330a274e
add observations for the rabbitmq secrets engine (#11601) (#11846) 2026-01-22 10:40:17 -06:00
Vault Automation
b22b89ef2d
add observations for the consul secrets engine (#11425) (#11692) 2026-01-22 10:39:50 -06:00
Vault Automation
87c9b9470b
VAULT-41681: SSH certificate observations (#11811) (#11834)
* ssh observations and tests

* remove unnecessary comments

* add metadata in comments

* add more assertions, fix test

* fix test

Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2026-01-19 11:22:04 -05:00
Vault Automation
126f9f3048
VAULT-41462: Nomad secrets engine observations (#11516) (#11741)
* add nomad observations

* fix typo

* add additional metadata checks

* fix check for ttl and maxttl

* add global check for cred create

Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2026-01-15 18:19:12 +01:00
Vault Automation
cab60d761b
Backport rotationManager: add configurable limit to rotation retries with orphaning into ce/main (#11782)
Co-authored-by: vinay-gopalan <86625824+vinay-gopalan@users.noreply.github.com>
2026-01-15 09:31:40 -06:00
Vault Automation
d978f9720c
VAULT-41600: SSH OTP observations (#11704) (#11783)
* ssh observations and tests

* remove unnecessary comments

* add metadata in comments

* limit to only otp paths

* remove unnecessary change

Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2026-01-15 15:22:11 +00:00
Vault Automation
62be8c0fe6
Put fairshare and dnstest helper in sdk (#11583) (#11663) 2026-01-09 10:32:31 -05:00
Vault Automation
ce23f4f2de
VAULT-41425: AWS secrets engine observations (#11395) (#11514)
* add observations for the aws secrets engine

* add mock recorder

* add tests to verify observations are created

* fix comment

* update godoc and switch to require

* fix type assertion, add test

Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2025-12-19 10:57:08 -08:00
Vault Automation
f9bb8aa7d4
Enforce Checks on Chain in Common Criteria Mode (#10915) (#11251)
* Add Disable-Time-Check flag, and also respect common criteria when doing so.

* Switch to EnableTimeChecks to not change default behavior.

* Check Common Criteria Flag Before Disabling Verification.

* Add Changelog.

* Update builtin/logical/pki/issuing/cert_verify_ent.go



* Update changelog/_10915.txt



* PR feedback.

* Merge-fix

* Test case requested by PR review.

---------

Co-authored-by: Kit Haines <khaines@mit.edu>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-12-15 14:08:43 -05:00
Vault Automation
e78aea2ec1
Correctly set signature bits. (#10700) (#10977)
* Correctly set signature bits.

* All the other places that accidentally conflate issuer and issued key.

* Update builtin/logical/pki/path_roles.go



* PR Feedback.

* Add changelog.

* Test and validate keybits in a single call

* License header.

* Add/combine validate and get default hashbits calls.

* Actually set keyBits on the role.

* Fix storage test, switch to defaultOrValue.

* fix storage test.

* Update error return for linter.

* Look at underlaying key type not type which might include "managedKeyType" for ca-issuer.

* Update expected role values, and convert between PublicAlgorithm and KeyType internally.

* Move the ec to ecdsa transformation to helper functions.  More consistant usage.

* Speed improvement to testing - pregenerate CA bundles and CSR.

* Add go test doc.

* Fix issue with web-merge.

* Error wrapping error now warnings aren't errors.

* PR feedback - move ecdsa support to subfunctions.

---------

Co-authored-by: Kit Haines <khaines@mit.edu>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-12-15 14:08:17 -05:00
Vault Automation
a38a966707
VAULT-41161 Update database observations to use RFC3339 datetimes (#11047) (#11053)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-12-02 17:43:11 +00:00
Vault Automation
ff96dceedd
Backport Add override_pinned_version support on configure connection for database into ce/main (#10860)
* Add override_pinned_version support on configure connection for database (#10517)

* add DatabaseConfigEnt and split ce-ent impl for connectionWriteHandler() and selectPluginVersion()

* add override_pinned_version handling in connectionWriteHandler() and selectPluginVersion()

* split ce-ent impl for connectionReadHandler() to support override_pinned_version

* split ce-ent impl for databaseBackend.GetConnectionWithConfig() to support override_pinned_version

* split TestBackend_* units related to databased connection config CRUD into ce and ent

* remove EntDatabaseConfig from response

---------

Co-authored-by: Thy Ton <maithytonn@gmail.com>
2025-12-01 15:18:26 -08:00
Vault Automation
91a9b23651
VAULT-41142 amend omissions from ACME observations (#11027) (#11030)
* VAULT-41142 amend omissions from ACME observations

* Feedback

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-28 15:46:42 +00:00
Vault Automation
df8ae716fe
Refactor PKI: Load issuer information once for VerifyCertificate (#10992) (#10994)
* Refactor PKI: Load issuer information once

* Add cl

Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-11-24 13:21:57 -05:00
Vault Automation
22c6de027f
VAULT-40980 PKI observations: Normalize serial from big int for OCSP (#10963) (#10966)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-20 20:53:48 +00:00
Vault Automation
b612e02fe9
Backport Enforce the minimum set of key usages for each ExtKeyUsage set in a PKI role (#10900)
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-11-20 20:37:22 +00:00
Vault Automation
399a10f22d
Force NotBefore=now when common_criteria_mode feature flag is enabled (#10739) (#10849) 2025-11-20 19:38:39 +00:00
Vault Automation
6db1f3f937
Change ttl from 3600 (implied type nanoseconds) to one hour to avoid timing race issues. (#10851) (#10855)
Co-authored-by: Kit Haines <khaines@mit.edu>
2025-11-17 12:09:09 -05:00
Vault Automation
7d7a8ac861
VAULT-40835 serial number correction for issuer import (#10812) (#10821)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-14 22:09:31 +00:00
Vault Automation
92ddb4684c
Vault-31540 : Parallelization support for Sync and Unsync flows within Secret Sync (#10473) (#10749)
* Fix typos

* Use a goroutine around syncSecret

* Lock around map writes and memDB operations

* Add TODO comments

* Add unsync TODO

* adding unsync changes

* initial commit

* moving nil checks in memdb calls

* fixed tests; adjusted mutex locks while setting secret stores

* adding changelog

* addressing review comments: mutex adjustments, nits

* adding mutex to memDBSetStoresForSecret

* fixing data race test failures

* addressing review comments: configurable workerpool limit, nits

* removing debug logs that got missed

* Update changelog/_10473.txt



* addressing review comments: using default when custom woker pool count read fails, nits

* fix: updating worker pool count to address Vercel API rate limits

* Vault 40557/parallelize secret sync test aws gcp (#10645)

* add integratio test case for parallelize secret sync test aws and gcp store types

* resolve PR comments

* resolve PR comments

* add doc comments on TestSecretsSyncBackend_Queue_SecretKey test function

---------



---------

Co-authored-by: Murali <137029787+murali-partha@users.noreply.github.com>
Co-authored-by: robmonte <17119716+robmonte@users.noreply.github.com>
Co-authored-by: Vivek Pandey <vivek.pandey@hashicorp.com>
Co-authored-by: Vivek Pandey <vivekpandey@Viveks-MacBook-Pro.local>
2025-11-14 13:39:01 -05:00
Vault Automation
f6df5de721
VAULT-40835 Normalize serial numbers in PKI observations (#10788) (#10790)
* WIP

* cieps issue

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-13 21:29:43 +00:00
Vault Automation
d29c1d2bb1
VAULT-40781 further improvements to PKI observations (#10760) (#10769)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-13 10:28:28 -05:00
Vault Automation
37b7f63d8c
Add authority_key_id to response fields for issue/signing and non-raw fetch endpoints (#10673) (#10697) 2025-11-07 17:38:46 +00:00
Vault Automation
8a9280d574
Add issuance checks around NotAfter and NotBefore (#10478) (#10691)
* Refuse to issue or sign certs that have a NotAfter before NotBefore
* Add checks to ensure that validity period of cert being issued is contained within CA's validity period
2025-11-07 16:48:00 +00:00
Vault Automation
d66ac12a4d
VAULT-40672 public key information for sign intermediate (#10684) (#10690)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-07 15:21:45 +00:00
Vault Automation
9f0c9fc4b7
VAULT-40618 Update PKI observation timestamps to use RFC-3339 format (#10560) (#10568)
Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-11-04 16:18:26 -05:00
Vault Automation
e67da36b58
Allow sign-verbatim to handle CSRs with basic constraints extension where isCA=false (#10466) (#10474) 2025-10-29 15:09:28 +00:00
Vault Automation
1131e79ed8
VAULT-40037 Updates to PKI observations (#10200) (#10358)
* WIP

* VAULT-40037 Updates to PKI observations

* review feedback

* public key size

* make fmt

* issuerId for sign self issued

* remove confusing issuer_name

* remove unused var

* whoops common name

* role -> role_name

* role name

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-10-23 18:56:41 +00:00
Vault Automation
0c6c13dd38
license: update headers to IBM Corp. (#10229) (#10233)
* license: update headers to IBM Corp.
* `make proto`
* update offset because source file changed

Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
2025-10-21 15:20:20 -06:00
Vault Automation
23fd7533aa
Add root rotation for snowflake database secrets keypair configurations (#9432) (#9851)
* Initial implementation

* Use rotation_statements, handle both password and private_key

* Remove debug prints

* Merge in main

* Remove duplicated error text

* Rename keypair root rotation function

* Use NewRotateRootCredentialsWALPasswordEntry

* Add changelog file

* Move back to original file for now, for review

* put generatePassword into function

* Fix names, call helper for generatePassword

* Generalize the rotation flow and keypair path

* Fix conditional check, remove new file

* Fix changelog

* Add test file

* Fix username check var name

* Fix name variable

* Return an error when both fields are set during rotation, and return an error if somehow walEntry is nil

* Fix test godoc

* Remove print

* change rotated key bits to 4096

Co-authored-by: Robert <17119716+robmonte@users.noreply.github.com>
2025-10-03 21:34:42 +00:00
Vault Automation
2906d02959
Add datakeys endpoint (#8623) (#9753)
* add new datakeys endpoint and refactor common functionality

* add test file for new endpoint

* add check and test cases

* add endpoint to ent

* Update builtin/logical/transit/path_datakeys_ent_test.go



* address pr feedback

* fix key size

* run make fmt

* add maximum on count

---------

Co-authored-by: Rachel Culpepper <84159930+rculpepper@users.noreply.github.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-09-30 19:11:26 +00:00
Vault Automation
7f9a3efe21
VAULT-39462 PKI observations (#9576) (#9747)
* VAULT-39462 PKI observations first draft?

* acme account

* acme account 2

* license

* belt and braces

* EST, and some tests

* more stuff

* SCEP

* key tests etc

* WIP reorganize code into an observe sub-package with interfaces

* make fmt

* fmt

* fmt

* empty file hehe

* copyright headers

* Update builtin/logical/pki/backend_cmpv2_ent_test.go



* Update builtin/logical/pki/backend_cmpv2_ent_test.go



* Update builtin/logical/pki/path_ocsp.go



* Update builtin/logical/pki/path_acme_order.go



* Update builtin/logical/pki/path_acme_order.go



* extra info

* add stored to cieps

* make fmt

---------

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-09-30 12:34:07 -04:00
Vault Automation
a24046a0b4
Increment certificate counts in all PKI backends (#9693) (#9721)
Increment certificate counts in all PKI backends.

Ensure that the PkiCertificateCounter is invoked every time we store and
issue a certificate by any of the PKI backends.

Co-authored-by: Victor Rodriguez <vrizo@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-09-29 15:33:00 -04:00
Vault Automation
44ced707f9
Add PkiCertificateCountSystemView to the PKI backend's SystemView (#9573) (#9617)
Add PkiCertificateCountSystemView to the PKI backend's SystemView.

Co-authored-by: Victor Rodriguez <vrizo@hashicorp.com>
2025-09-24 18:23:22 +00:00
Vault Automation
ab62e44b3a
Use reserved enterprise number for documentation purposes from RFC5612 (#9484) (#9492)
- Instead of using a reserved oid from LetsEncrypt in our tests
   and documentation (1.3.6.1.4.1.44947.1.2.4), use
   1.3.6.1.4.1.32473.1.2.4, which is in the reserved space for docs
   and examples based on RFC 5612

Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
2025-09-19 19:00:07 +00:00
Vault Automation
bc60502ec9
Add role rotation info to create/update observations (#9254) (#9368)
* Add role rotation info to create/update observations

* observatin enhancements

* observatin enhancements

* remove log

* duration strings instead of seconds

* the stringening

* more times

* credential type

* Add rotation schedule/period to root rotation

* more ttls

* updates

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-09-16 15:36:02 +00:00
Vault Automation
fd52499843
Batch Certificate Endpoint Addition (#8800) (#9223)
* Base batchFetch functionality.

* Finished Path work, simple test.

* Add Changelog.

* Re-Alphabetize Test; add new endpoint to auth-test.

* Improvement formatting changelog.

* Fix CE tests; PR-feedback on err responses.

* Add Test Go Docs.

Co-authored-by: Kit Haines <khaines@mit.edu>
2025-09-09 15:55:34 -04:00
Vault Automation
66a27fd4bd
VAULT-37632 allow restoring SSH CA from loaded snapshot (#8581) (#9034)
* allow restoring ssh config/ca

* add some unit tests

* address PR review

* imports and test upgrades

* linter complaints

* add PR comment and linter fixes

* address review

Co-authored-by: Bruno Oliveira de Souza <bruno.souza@hashicorp.com>
2025-09-02 11:27:23 -03:00
Vault Automation
eaf949cb1f
VAULT-37633: Database static role recover operations (#8922) (#8982)
* initial implementation

* fix

* tests

* changelog

* fix vet errors

* pr comments

Co-authored-by: miagilepner <mia.epner@hashicorp.com>
2025-08-29 09:48:18 -05:00
Vault Automation
04451634d9
VAULT-38193 Add database observations to Vault (#8727) (#8802)
* VAULT-38193 database observations (WIP)

* VAULT-38193 database observations

* nil check

* make it consistent

* Clean up

Co-authored-by: Violet Hynes <violet.hynes@hashicorp.com>
2025-08-21 12:26:58 -04:00
Vault Automation
711ed1a740
Add support for AES-CBC to transit (#8367) (#8741)
* add key types and encryption for cbc

* add decryption

* start adding tests

* add tests for policy functions

* add convergent case

* add enterprise check and key creation test cases

* fix key generation and add import/export

* add tests and fixes

* add changelog

* linter

* refactor policy functions and fix IV

* add ce change

* fix function calls

* fix factories in function call

* fix IV test case

* test fixes

* add cbc keys to read

* change iv

* fix merge errors

* make fmt

* change error name and add iv error

* fix tests

Co-authored-by: Rachel Culpepper <84159930+rculpepper@users.noreply.github.com>
2025-08-20 17:39:02 +00:00
kpcraig
17e5b92d63
Log transit rotations (#31420) 2025-08-08 18:11:16 -04:00
kpcraig
1fafe2f4d5
Log DB Rotations (#31402) 2025-08-08 16:15:02 -04:00
Ellie
1e7f22aeec
Add DB type consts (#31295)
* add necessary consts

* add other db plugins

* correct ES

* Fix consts in test
2025-07-17 12:08:27 -05:00
Ellie
23e04c2409
Add MetricsReporter interface so that databaseBackend's can share their connection counts with CensusManager (#31269)
* add interface and impl

* add tests

* fix comments

* Update builtin/logical/database/backend.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-14 14:52:55 -05:00