Brian Kassouf
3890f194a4
Break tls code into helper library
2017-03-16 11:55:21 -07:00
Jeff Mitchell
3f67ab489a
Ensure CN check is made when exclude_cn_from_sans is used
...
Fixes #2363
2017-03-16 11:41:13 -04:00
Jeff Mitchell
a5d1808efe
Always include a hash of the public key and "vault" (to know where it ( #2498 )
...
came from) when generating a cert for SSH.
Follow on from #2494
2017-03-16 11:14:17 -04:00
Mike Okner
6f84f7ffd0
Adding allow_user_key_ids field to SSH role config ( #2494 )
...
Adding a boolean field that determines whether users will be allowed to
set the ID of the signed SSH key or whether it will always be the token
display name. Preventing users from changing the ID and always using
the token name is useful for auditing who actually used a key to access
a remote host since sshd logs key IDs.
2017-03-16 08:45:11 -04:00
Brian Kassouf
5b05f62fa3
Work on TLS communication over plugins
2017-03-15 17:14:48 -07:00
Jeff Mitchell
688104e69a
Allow roles to specify whether CSR SANs should be used instead of ( #2489 )
...
request values. Fix up some documentation.
Fixes #2451
Fixes #2488
2017-03-15 14:38:18 -04:00
Jeff Mitchell
799000be20
Set CA chain when intermediate does not have an authority key ID.
...
This is essentially an approved review of the code provided in #2465 .
Fixes #2465
2017-03-15 11:52:02 -04:00
Brian Kassouf
a6ae4bd356
wrap plugin database type with metrics middleware
2017-03-14 13:12:47 -07:00
Brian Kassouf
143166b1ba
Add a metrics middleware
2017-03-14 13:11:28 -07:00
Stanislav Grozev
70b30b40d4
Reads on unconfigured SSH CA public key return 400
2017-03-14 10:21:48 -04:00
Stanislav Grozev
5f3397bff5
Reads on ssh/config/ca return the public keys
...
If configured/generated.
2017-03-14 10:21:48 -04:00
Stanislav Grozev
d22796c644
If generating an SSH CA signing key - return the public part
...
So that the user can actually use the SSH CA, by adding the public key
to their respective sshd_config/authorized_keys, etc.
2017-03-14 10:21:48 -04:00
Brian Kassouf
c111b02568
Add a way to initalize plugins and builtin databases the same way.
2017-03-13 14:39:55 -07:00
Brian Kassouf
a0d207e254
Add checksum attribute
2017-03-10 14:10:42 -08:00
Brian Kassouf
72a878b180
Rename reset to close
2017-03-09 22:35:45 -08:00
Brian Kassouf
b63147b7c2
Add special path to enforce root on plugin configuration
2017-03-09 21:31:29 -08:00
Brian Kassouf
3766ab14e5
Add plugin file
2017-03-09 17:43:58 -08:00
Brian Kassouf
d4ea6c1768
Add plugin features
2017-03-09 17:43:37 -08:00
Vishal Nayak
9af1ca3d2c
doc: ssh allowed_users update ( #2462 )
...
* doc: ssh allowed_users update
* added some more context in default_user field
2017-03-09 10:34:55 -05:00
vishalnayak
3bd667a931
Fix typo
2017-03-08 17:49:39 -05:00
Brian Kassouf
00359cdea4
Update secrets fields
2017-03-08 14:46:53 -08:00
Vishal Nayak
a4e41f6568
SSH CA enhancements ( #2442 )
...
* Use constants for storage paths
* Upgrade path for public key storage
* Fix calculateValidPrincipals, upgrade ca_private_key, and other changes
* Remove a print statement
* Added tests for upgrade case
* Make exporting consistent in creation bundle
* unexporting and constants
* Move keys into a struct instead of plain string
* minor changes
2017-03-08 17:36:21 -05:00
Brian Kassouf
cd68899a4a
Fix renew and revoke calls
2017-03-07 17:21:44 -08:00
Brian Kassouf
73200db1d9
Add defaults to the cassandra databse type
2017-03-07 17:00:52 -08:00
Brian Kassouf
78fdc2ad24
Pass statements object
2017-03-07 16:48:17 -08:00
Brian Kassouf
01300e026b
Remove unused sql object
2017-03-07 15:34:23 -08:00
Brian Kassouf
1d23bbbe28
Remove double lock
2017-03-07 15:33:05 -08:00
Brian Kassouf
c823ad0597
Update locking functionaility
2017-03-07 13:48:29 -08:00
Jeff Mitchell
df575f0b3a
Rename helper 'duration' to 'parseutil'. ( #2449 )
...
Add a ParseBool function that accepts various kinds of ways of
specifying booleans.
Have config use ParseBool for UI and disabling mlock/cache.
2017-03-07 11:21:22 -05:00
Brian Kassouf
354233f91d
rename mysql variable
2017-03-03 15:07:41 -08:00
Brian Kassouf
4d335099de
Make db instances immutable and add a reset path to tear down and create a new database instance with an updated config
2017-03-03 14:38:49 -08:00
Brian Kassouf
fa8da4cf91
Fix mysql connections
2017-03-03 14:38:49 -08:00
Brian Kassouf
e442917e26
Add mysql into the factory
2017-03-03 14:38:48 -08:00
Brian Kassouf
5e2cffcdd0
Add max connection lifetime param and set consistancy on cassandra session
2017-03-03 14:38:48 -08:00
Brian Kassouf
cee3dc9b9e
s/Statement/Statements/
2017-03-03 14:38:48 -08:00
Brian Kassouf
bfbb104e19
Add mysql database type
2017-03-03 14:38:48 -08:00
Brian Kassouf
ad17d113c7
More work on refactor and cassandra database
2017-03-03 14:38:48 -08:00
Brian Kassouf
3d77a9a6f4
Begin work on database refactor
2017-03-03 14:38:48 -08:00
Vishal Nayak
8491db3ce6
ssh: Added DeleteOperation to config/ca ( #2434 )
...
* ssh: Added DeleteOperation to config/ca
* Address review feedback
2017-03-03 10:19:45 -05:00
Jeff Mitchell
5fe459f91a
Update SSH CA logic/tests
2017-03-02 16:39:22 -05:00
Vishal Nayak
93b74ebe71
Refactor the generate_signing_key processing ( #2430 )
2017-03-02 16:22:06 -05:00
Jeff Mitchell
1c821e448d
Update error text to make it more obvious what the issue is when valid principals aren't found
2017-03-02 15:56:08 -05:00
Jeff Mitchell
db29bde264
Fix a bunch of errors from returning 5xx, and parse more duration types
2017-03-02 15:38:34 -05:00
Will May
ffb5ee7fda
Changes from code review
2017-03-02 14:36:13 -05:00
Will May
f9d853f7f0
Allow internal generation of the signing SSH key pair
2017-03-02 14:36:13 -05:00
Vishal Nayak
d30a833db7
Rework ssh ca ( #2419 )
...
* docs: input format for default_critical_options and default_extensions
* s/sshca/ssh
* Added default_critical_options and default_extensions to the read endpoint of role
* Change default time return value to 0
2017-03-01 15:50:23 -05:00
Will May
7d9cb5bffe
Changes from code review
...
Major changes are:
* Remove duplicate code
* Check the public key used to configure the backend is a valid one
2017-03-01 15:19:18 -05:00
Will May
59397250da
Changes from code review
...
Major changes are:
* Change `allow_{user,host}_certificates` to default to false
* Add separate `allowed_domains` role property
2017-03-01 15:19:18 -05:00
Will May
1d59b965cb
Add ability to create SSH certificates
2017-03-01 15:19:18 -05:00
vishalnayak
041817b300
Fix broken build caused due to resolve merge conflicts
2017-02-24 12:41:20 -05:00
Vishal Nayak
e3016053b3
PKI: Role switch to control lease generation ( #2403 )
...
* pki: Make generation of leases optional
* pki: add tests for upgrading generate_lease
* pki: add tests for leased and non-leased certs
* docs++ pki generate_lease
* Generate lease is applicable for both issuing and signing
* pki: fix tests
* Address review feedback
* Address review feedback
2017-02-24 12:12:40 -05:00
Saj Goonatilleke
9cd9fbbad3
pki: Include private_key_type on DER-formatted responses from /pki/issue/ ( #2405 )
2017-02-24 11:17:59 -05:00
Jeff Mitchell
8acbdefdf2
More porting from rep ( #2388 )
...
* More porting from rep
* Address review feedback
2017-02-16 16:29:30 -05:00
Jeff Mitchell
98c7bd6c03
Port some replication bits to OSS ( #2386 )
2017-02-16 15:15:02 -05:00
Jeff Mitchell
28883acc16
Fix copypasta, thanks tests
2017-02-16 01:32:39 -05:00
Jeff Mitchell
5e5d9baabe
Add Organization support to PKI backend. ( #2380 )
...
Fixes #2369
2017-02-16 01:04:29 -05:00
Vishal Nayak
a9121ff733
transit: change batch input format ( #2331 )
...
* transit: change batch input format
* transit: no json-in-json for batch response
* docs: transit: update batch input format
* transit: fix tests after changing response format
2017-02-06 14:56:16 -05:00
Vishal Nayak
3797666436
Transit: Support batch encryption and decryption ( #2143 )
...
* Transit: Support batch encryption
* Address review feedback
* Make the normal flow go through as a batch request
* Transit: Error out if encryption fails during batch processing
* Transit: Infer the 'derived' parameter based on 'context' being set
* Transit: Batch encryption doc updates
* Transit: Return a JSON string instead of []byte
* Transit: Add batch encryption tests
* Remove plaintext empty check
* Added tests for batch encryption, more coming..
* Added more batch encryption tests
* Check for base64 decoding of plaintext before encrypting
* Transit: Support batch decryption
* Transit: Added tests for batch decryption
* Transit: Doc update for batch decryption
* Transit: Sync the path-help and website docs for decrypt endpoint
* Add batch processing for rewrap
* transit: input validation for context
* transit: add rewrap batch option to docs
* Remove unnecessary variables from test
* transit: Added tests for rewrap use cases
* Address review feedback
* Address review feedback
* Address review feedback
* transit: move input checking out of critical path
* transit: allow empty plaintexts for batch encryption
* transit: use common structs for batch processing
* transit: avoid duplicate creation of structs; add omitempty to response structs
* transit: address review feedback
* transit: fix tests
* address review feedback
* transit: fix tests
* transit: rewrap encrypt user error should not error out
* transit: error out for internal errors
2017-02-02 14:24:20 -05:00
Jeff Mitchell
3789e8c427
Add cleanup functions to multiple DB backends. ( #2313 )
...
Ensure it's called on unmount, not just for seal.
2017-02-01 14:05:25 -05:00
Jeff Mitchell
b44519e742
Make export errors a bit more meaningful
2017-01-30 09:25:50 -05:00
Jeff Mitchell
082aa90103
Have transit exporting return the same structure regardless of one key or many
2017-01-28 10:37:35 -05:00
Brian Kassouf
c642fbf18e
Migrate cassandra test from acceptance to dockertest ( #2295 )
2017-01-25 15:37:55 -05:00
Jeff Mitchell
28978861de
Revert "Disable PKI OU tests to fix the build"
...
This reverts commit b1ab7c5603
.
2017-01-24 09:58:28 -05:00
vishalnayak
b1ab7c5603
Disable PKI OU tests to fix the build
2017-01-24 06:25:56 -05:00
joe miller
90e32515ea
allow roles to set OU value in certificates issued by the pki backend ( #2251 )
2017-01-23 12:44:45 -05:00
Chris Hoffman
43bae79d01
Adding support for exportable transit keys ( #2133 )
2017-01-23 11:04:43 -05:00
Vishal Nayak
0645606f84
Merge pull request #2202 from fcantournet/fix_govet_fatalf
...
all: test: Fix govet warnings
2017-01-17 16:45:35 -05:00
Matthew Irish
231f00dff2
Transit key actions ( #2254 )
...
* add supports_* for transit key reads
* update transit docs with new supports_* fields
2017-01-11 10:05:06 -06:00
joe miller
a76a49732d
sign-verbatim should set use_csr_common_name to true ( #2243 )
2017-01-10 09:47:59 -05:00
Jeff Mitchell
454ddd4c48
Use dockertest.v2 ( #2247 )
...
New dockertest has a totally different API and will require some serious
refactoring. This will tide over until then by pinning the API version.
2017-01-09 13:46:54 -05:00
Félix Cantournet
0d6d4211b8
all: test: Fix govet warnings
...
Fix calls to t.Fatal() with formatting.
Fixed some calls to Fatalf() with wrong formatting
2016-12-21 19:44:07 +01:00
vishalnayak
cc92d166f3
Address review feedback
2016-12-20 11:19:47 -05:00
vishalnayak
c80b1dc2b9
pki: Avoiding a storage read
2016-12-20 11:07:20 -05:00
vishalnayak
faa975326d
pki: Appended error to error message
2016-12-19 10:49:32 -05:00
vishalnayak
c8319e330d
PKI: Added error to the error message
2016-12-19 10:47:29 -05:00
Jeff Mitchell
a498cec44f
normalize some capitlization in error messages
2016-12-15 19:02:33 -05:00
Jeff Mitchell
b9be3da2bc
Fix nil value panic when Consul returns a user error ( #2145 )
2016-12-01 10:22:32 -08:00
vascop
59c55e0aa6
Fix typo and remove trailing whitespace. ( #2074 )
2016-11-08 09:32:23 -05:00
Jeff Mitchell
5a6b1987c5
Add listing to Consul secret roles ( #2065 )
2016-11-04 12:35:16 -04:00
vishalnayak
e6daa3782a
Return the revocation_sql from role read all the time
2016-10-27 12:24:31 -04:00
vishalnayak
8293b19a98
Added revocation_sql to the website docs
2016-10-27 12:15:08 -04:00
vishalnayak
2ac019a9c5
Move policy test to keysutil package
2016-10-26 19:57:28 -04:00
vishalnayak
b30d5f5c57
Pulled out transit's lock manager and policy structs into a helper
2016-10-26 19:52:31 -04:00
vishalnayak
b408c95e0d
ssh: Use temporary file to store the identity file
2016-10-18 12:50:12 -04:00
Chris Hoffman
4406a39da2
Add ability to list keys in transit backend ( #1987 )
2016-10-18 10:13:01 -04:00
Laura Bennett
1cc7c811c7
address feedback
2016-10-10 12:16:55 -04:00
Laura Bennett
bc58e02fe8
initial commit to fix empty consistency option issue
2016-10-08 20:22:26 -04:00
Jeff Mitchell
d7615b0477
Don't use quoted identifier for the username
2016-10-05 14:31:19 -04:00
Jeff Mitchell
37df43d534
Postgres revocation sql, beta mode ( #1972 )
2016-10-05 13:52:59 -04:00
vishalnayak
e90acaeb6c
Refactor mysql's revoke SQL
2016-10-04 19:30:25 -04:00
Vishal Nayak
b22b4edc71
Merge pull request #1914 from jpweber/mysql-revoke
...
Mysql revoke with non-wildcard hosts
2016-10-04 17:44:15 -04:00
Jim Weber
6b9b646e8a
removed an unused ok variable. Added warning and force use for default queries if role is nil
2016-10-04 17:15:29 -04:00
Jim Weber
1ec0a2d403
fixed an incorrect assignment
2016-10-03 21:51:40 -04:00
Jim Weber
1b591fb6d5
More resilient around cases of missing role names and using the default when needed.
2016-10-03 20:20:00 -04:00
Jim Weber
67d991f4ab
Refactored logic some to make sure we can always fall back to default revoke statments
...
Changed rolename to role
made default sql revoke statments a const
2016-10-03 15:59:56 -04:00
Jim Weber
179c07075a
fixed some more issues I had with the tests.
2016-10-03 15:58:09 -04:00
Jim Weber
aa5bb3b354
renamed rolname to role
2016-10-03 15:57:47 -04:00
Jim Weber
003d0df191
Reduced duplicated code and fixed comments and simple variable name mistakes
2016-10-03 14:53:05 -04:00
Jim Weber
10855b070f
Added test for revoking mysql user with wild card host and non-wildcard host
2016-10-02 22:28:54 -04:00
Jim Weber
47465e782c
saving role name to the Secret Internal data. Default revoke query added
...
The rolename is now saved to the secret internal data for fetching
later during the user revocation process. No longer deriving the role
name from request path
Added support for default revoke SQL statements that will provide the
same functionality as before. If not revoke SQL statements are provided
the default statements are used.
Cleaned up personal ignores from the .gitignore file
2016-10-02 18:53:16 -04:00
Jeff Mitchell
c748ff322f
Change default TTL from 30 to 32 to accommodate monthly operations ( #1942 )
2016-09-28 18:32:49 -04:00
Laura Bennett
4cfe098ce4
Merge pull request #1931 from hashicorp/cass-consistency
...
Adding consistency into cassandra
2016-09-27 21:12:02 -04:00
Chris Hoffman
10c8024fa3
Adding support for chained intermediate CAs in pki backend ( #1694 )
2016-09-27 17:50:17 -07:00
Laura Bennett
8b41676dbc
minor updates
2016-09-27 20:35:11 -04:00
Laura Bennett
011d65f59c
added parsing at role creation
2016-09-27 16:01:51 -04:00
Laura Bennett
dc4fdf37d7
initial commit for consistency added into cassandra
2016-09-27 13:25:18 -04:00
Vishal Nayak
92cb781be9
Merge pull request #1910 from hashicorp/secret-id-cidr-list
...
CIDR restrictions on Secret ID
2016-09-26 10:22:48 -04:00
Jim Weber
eebd592f78
Getting role name from the creds path used in revocation
2016-09-23 16:57:08 -04:00
Jim Weber
f56f0b174c
secretCredsRevoke command no longer uses hardcoded query
...
The removal of a user from the db is now handled similar to the
creation. The SQL is read out of a key from the role and then executed
with values substituted for username.
2016-09-23 16:05:49 -04:00
Jim Weber
235d67e451
Added support for a revokeSQL key value pair to the role
2016-09-23 16:00:23 -04:00
Jeff Mitchell
bba2ea63f1
Don't use time.Time in responses. ( #1912 )
...
This fixes #1911 but not directly; it doesn't address the cause of the
panic. However, it turns out that this is the correct fix anyways,
because it ensures that the value being logged is RFC3339 format, which
is what the time turns into in JSON but not the normal time string
value, so what we audit log (and HMAC) matches what we are returning.
2016-09-23 12:32:07 -04:00
vishalnayak
fb2f7f27ba
Fix ssh tests
2016-09-22 11:37:55 -04:00
vishalnayak
c93bded97b
Added cidrutil helper
2016-09-21 13:58:32 -04:00
Jeff Mitchell
902067d620
Ensure upgrades have a valid HMAC key
2016-09-21 11:10:57 -04:00
Jeff Mitchell
8482118ac6
Transit and audit enhancements
2016-09-21 10:49:26 -04:00
Chris Hoffman
cd567eb480
Renaming ttl_max -> max_ttl in mssql backend ( #1905 )
2016-09-20 12:39:02 -04:00
Jeff Mitchell
6f6d1f7237
Rename GetOctalFormatted and add serial number to ParsedCertBundle. Basically a noop.
2016-09-16 11:05:43 -04:00
Jeff Mitchell
cf05edaf18
Allow encrypting empty ciphertext values. ( #1881 )
...
Replaces #1874
2016-09-13 12:00:04 -04:00
vishalnayak
f563f38748
Use uuid.GenerateRandomBytes
2016-09-09 14:17:09 -04:00
vishalnayak
70246395d6
Not exposing structs from the backend's package
2016-09-01 11:57:28 -04:00
Jeff Mitchell
201cd2e1f7
Use unexported kdf const names
2016-08-31 07:19:58 -04:00
Jeff Mitchell
9a97f436ef
Use hkdf for transit key derivation for new keys ( #1812 )
...
Use hkdf for transit key derivation for new keys
2016-08-30 16:29:09 -04:00
vishalnayak
8cc5cdb746
STS path field description update
2016-08-30 10:53:21 -04:00
vishalnayak
39b75c6ae9
Added UpdateOperation to logical AWS STS path
2016-08-30 10:30:13 -04:00
Vishal Nayak
fb775993f3
Merge pull request #1804 from hashicorp/issue-1800
...
Mark STS secrets as non-renwable
2016-08-29 11:46:19 -04:00
navinanandaraj
7fbdf927c1
Fixes #1801 Reuse Cassandra session object for create creds ( #1802 )
2016-08-28 17:32:41 -04:00
Jeff Mitchell
9cd4243362
Mark STS secrets as non-renwable
...
Ping #1800
2016-08-28 14:27:56 -04:00
Jeff Mitchell
a542df0173
Derive nonce fully in convergent mode ( #1796 )
...
Ping #1794
2016-08-26 17:01:56 -04:00
Jeff Mitchell
c9aa308804
Use key derivation for convergent nonce. ( #1794 )
...
Use key derivation for convergent nonce.
Fixes #1792
2016-08-26 14:11:03 -04:00
Jeff Mitchell
c2f3c465d3
Decode secret internal data into struct and fix type assertion. ( #1781 )
2016-08-24 15:04:04 -04:00
Jeff Mitchell
68345eb770
Convert to logxi
2016-08-21 18:13:37 -04:00
Jeff Mitchell
357ecb4dfe
gofmt
2016-08-19 16:48:32 -04:00
Jeff Mitchell
6eca449261
Parameter change
...
Both revocation times are UTC so clarify via parameter name that it's just a formatting difference. Also leave as a time.Time here, as it automatically marshals into RFC3339.
2016-08-14 21:43:57 -04:00
Jeff Mitchell
5a12143f16
Cleanup
2016-08-13 11:52:09 -04:00
Jeff Mitchell
f0e0f960ca
Ensure utc value is not zero before adding
2016-08-13 11:50:57 -04:00
Jeff Mitchell
8fd8ae7330
Ensure values to be encoded in a CRL are in UTC. This aligns with the
...
RFC. You might expect Go to ensure this in the CRL generation call,
but...it doesn't.
Fixes #1727
2016-08-13 08:40:09 -04:00
Jeff Mitchell
031437a98f
Fix build
2016-08-08 17:00:59 -04:00
Jeff Mitchell
24bf6fc68e
Address review feedback
2016-08-08 16:30:48 -04:00
Jeff Mitchell
84cd3c20b3
Remove context-as-nonce, add docs, and properly support datakey
2016-08-07 15:53:40 -04:00
Jeff Mitchell
b5858e2237
Add unit tests for convergence in non-context mode
2016-08-07 15:16:36 -04:00
Jeff Mitchell
c7bf73f924
Refactor convergent encryption to make specifying a nonce in addition to context possible
2016-08-05 17:52:44 -04:00
Vincent Batoufflet
38a30a92e3
Fix PKI logical backend email alt_names
2016-08-04 12:10:34 +02:00
Jeff Mitchell
9732c10d03
Add postgres test for block statements
2016-08-03 15:34:50 -04:00
Jeff Mitchell
7d1f0facb8
Add arbitrary string slice parsing.
...
Like the KV function, this supports either separated strings or JSON
strings, base64-encoded or not.
Fixes #1619 in theory.
2016-08-03 14:24:16 -04:00
vishalnayak
ddb6ae18a0
Fix invalid input getting marked as internal error
2016-07-28 16:23:11 -04:00
Jeff Mitchell
4fd83816bf
Add convergence tests to transit backend
2016-07-28 11:30:52 -04:00
Laura Bennett
c6cc73b3bd
Merge pull request #1635 from hashicorp/mysql-idle-conns
...
Added maximum idle connections to mysql to close hashicorp/vault#1616
2016-07-20 15:31:37 -04:00
Jeff Mitchell
6708b5d75f
Set defaults to handle upgrade cases.
...
Ping #1604
2016-07-20 14:07:19 -04:00
Jeff Mitchell
a8a2886538
Merge pull request #1604 from memory/mysql-displayname-2
...
concat role name and token displayname to form mysql username
2016-07-20 14:02:17 -04:00
Nathan J. Mehl
e824f6040b
use both role name and token display name to form mysql username
2016-07-20 10:17:00 -07:00
Laura Bennett
f5ed650966
whitespace error corrected
2016-07-20 12:00:05 -04:00
Nathan J. Mehl
83635c16b6
respond to feedback from @vishalnayak
...
- split out usernameLength and displaynameLength truncation values,
as they are different things
- fetch username and displayname lengths from the role, not from
the request parameters
- add appropriate defaults for username and displayname lengths
2016-07-20 06:36:51 -07:00
Laura Bennett
badaabc17d
max_idle_connections added
2016-07-20 09:26:26 -04:00
Laura Bennett
b99c692f0d
initial commit before rebase to stay current with master
2016-07-19 14:18:37 -04:00
Jeff Mitchell
8cbd94e13e
Merge pull request #1414 from mhurne/mongodb-secret-backend
...
Add mongodb secret backend
2016-07-19 13:56:15 -04:00
Jeff Mitchell
33624201c2
Some minor linting
2016-07-19 13:54:18 -04:00
Matt Hurne
2f8a1daa7d
Merge branch 'master' into mongodb-secret-backend
2016-07-19 12:47:58 -04:00
Matt Hurne
35472ba9f9
mongodb secret backend: Remove redundant type declarations
2016-07-19 12:35:14 -04:00
Matt Hurne
3c68002cc2
mongodb secret backend: Fix broken tests, clean up unused parameters
2016-07-19 12:26:23 -04:00
Vishal Nayak
3f0a1e4b88
Merge pull request #1629 from hashicorp/remove-verify-connection
...
Remove unused VerifyConnection from storage entries of SQL backends
2016-07-19 12:21:23 -04:00
Vishal Nayak
4e5c3631f4
Merge pull request #1583 from hashicorp/ssh-allowed-roles
...
Add allowed_roles to ssh-helper-config and return role name from verify call
2016-07-19 12:04:12 -04:00
vishalnayak
ca22b6cfdb
Remove unused VerifyConnection from storage entries of SQL backends
2016-07-19 11:55:49 -04:00
Matt Hurne
a130c13c34
mongodb secret backend: Return lease ttl and max_ttl in lease read in seconds rather than as duration strings
2016-07-19 11:23:56 -04:00
Matt Hurne
8be8714e86
mongodb secret backend: Don't bother persisting verify_connection field in connection config
2016-07-19 11:20:45 -04:00
Matt Hurne
047db0ffef
mongodb secret backend: Handle cases where stored username or db is not a string as expected when revoking credentials
2016-07-19 11:18:00 -04:00
Matt Hurne
d23ba11a0c
Merge branch 'master' into mongodb-secret-backend
2016-07-19 10:38:45 -04:00
Jeff Mitchell
aa9c05002e
Merge pull request #1573 from mickhansen/logical-postgresql-revoke-sequences
...
handle revocations for roles that have privileges on sequences
2016-07-18 13:30:42 -04:00
vishalnayak
5b458db104
Merge branch 'master-oss' into json-use-number
...
Conflicts:
http/handler.go
logical/framework/field_data.go
logical/framework/wal.go
vault/logical_passthrough.go
2016-07-15 19:21:55 -04:00
Vishal Nayak
1970ad74d7
Merge pull request #1610 from hashicorp/min-tls-ver-12
...
Set minimum TLS version in all tls.Config objects
2016-07-13 10:53:14 -06:00
vishalnayak
6977bdd490
Handled upgrade path for TLSMinVersion
2016-07-13 12:42:51 -04:00
Vishal Nayak
64bdeec926
Merge pull request #1607 from hashicorp/standardize-time
...
Remove redundant invocations of UTC() call on `time.Time` objects
2016-07-13 10:19:23 -06:00
vishalnayak
98d5684699
Address review feedback
2016-07-13 11:52:26 -04:00
vishalnayak
150cba24a7
Added tls_min_version to consul storage backend
2016-07-12 20:10:54 -04:00
Nathan J. Mehl
417cf49bb7
allow overriding the default truncation length for mysql usernames
...
see https://github.com/hashicorp/vault/issues/1605
2016-07-12 17:05:43 -07:00
vishalnayak
ee6ba1e85e
Make 'tls_min_version' configurable
2016-07-12 19:32:47 -04:00
vishalnayak
f200a8568b
Set minimum TLS version in all tls.Config objects
2016-07-12 17:06:28 -04:00
vishalnayak
9f208ae8f2
Revert 'risky' changes
2016-07-12 16:38:07 -04:00
Jeff Mitchell
7129fd5785
Switch to pester from go-retryablehttp to avoid swallowing 500 error messages
2016-07-11 21:37:46 +00:00
Mick Hansen
cc742a6fc5
incorporate code style guidelines
2016-07-11 13:35:35 +02:00
Mick Hansen
463294f4c6
handle revocations for roles that have privileges on sequences
2016-07-11 13:16:45 +02:00
Nathan J. Mehl
0648160276
use role name rather than token displayname in generated mysql usernames
...
If a single token generates multiple myself roles, the generated mysql
username was previously prepended with the displayname of the vault
user; this makes the output of `show processlist` in mysql potentially
difficult to correlate with the roles actually in use without cross-
checking against the vault audit log.
See https://github.com/hashicorp/vault/pull/1603 for further discussion.
2016-07-10 15:57:47 -07:00
Matt Hurne
0a5a815c68
mongodb secret backend: Improve safety of MongoDB roles storage
2016-07-09 21:12:42 -04:00
vishalnayak
f59a69bc52
Remove Unix() invocations on 'time.Time' objects and removed conversion of time to UTC
2016-07-08 18:30:18 -04:00
Matt Hurne
0a4638080a
Format code in mongodb secret backend
2016-07-07 23:16:11 -04:00
Matt Hurne
2c3b5513df
mongodb secret backend: Improve and correct errors in documentation; improve "parameter is required" error response messages
2016-07-07 23:09:45 -04:00
Matt Hurne
611b08a5b9
mongodb secret backend: Refactor to eliminate unnecessary variable
2016-07-07 22:29:17 -04:00
Matt Hurne
afcff23362
mongodb secret backend: Consider a "user not found" response a success when removing a user from Mongo
2016-07-07 22:27:47 -04:00
Matt Hurne
67c2c0a1dd
mongodb secret backend: Improve roles path help
2016-07-07 22:16:34 -04:00
Matt Hurne
8a6959211e
mongodb secret backend: Remove default value for Mongo authentication DB for roles; validate that role name and authentication db were specified when creating a role
2016-07-07 22:09:00 -04:00
Matt Hurne
1fa764275b
mongodb secret backend: Leverage framework.TypeDurationSecond to simplify storage of lease ttl and max_ttl
2016-07-07 21:48:44 -04:00
Matt Hurne
350ffcf79f
mongodb secret backend: Verify existing Session is still working before reusing it
2016-07-07 21:37:44 -04:00
vishalnayak
c99cc155ff
Fix transit tests
2016-07-06 22:04:08 -04:00
vishalnayak
ef97199360
Added JSON Decode and Encode helpers.
...
Changed all the occurances of Unmarshal to use the helpers.
Fixed http/ package tests.
2016-07-06 12:25:40 -04:00
vishalnayak
b632ef58e4
Add allowed_roles to ssh-helper-config and return role name from verify call
2016-07-05 11:14:29 -04:00
Matt Hurne
8dbefb68b0
Merge branch 'master' into mongodb-secret-backend
2016-07-05 09:33:12 -04:00
Matt Hurne
2aba34d41d
mongodb secret backend: Add support for reading connection configuration; Dockerize tests
2016-07-05 09:32:38 -04:00
Sean Chittenden
f66cd75583
Move the parameter down to where the statement is executed.
2016-07-03 16:20:27 -07:00
Sean Chittenden
00ab56060a
Use lib/pq
's QuoteIdentifier()
on all identifiers and Prepare
...
for all literals.
2016-07-03 16:01:39 -07:00
Matt Hurne
7571487c7f
Merge branch 'master' into mongodb-secret-backend
2016-07-01 20:39:13 -04:00
Jeff Mitchell
cec644f327
Shave off a lot of PKI testing time by not requiring key generation when testing CSRs. Also enable all tests all the time.
2016-07-01 17:28:48 -04:00
Jeff Mitchell
5762446724
Merge pull request #1581 from mp911de/cassandra_connect_timeout
...
Support connect_timeout for Cassandra and align timeout.
2016-07-01 22:33:24 +02:00
Mark Paluch
895eac0405
Address review feedback.
...
Switch ConnectTimeout to framework.TypeDurationSecond with a default of 5. Remove own parsing code.
2016-07-01 22:26:08 +02:00
Mark Paluch
f85b2b11d3
Support connect_timeout for Cassandra and align timeout.
...
The cassandra backend now supports a configurable connect timeout. The timeout is configured using the connect_timeout parameter in the session configuration. Also align the timeout to 5 seconds which is the default for the Python and Java drivers.
Fixes #1538
2016-07-01 21:22:37 +02:00
Jeff Mitchell
7fc4ae959a
Migrate Consul acceptance tests to Docker
2016-07-01 13:59:56 -04:00
Matt Hurne
c8cbd33f74
mongodb secret backend: Parse ssl URI option as a boolean rather than relying on string comparison
2016-07-01 13:55:06 -04:00
Jeff Mitchell
ef98d56fba
Have SQL backends Ping() before access.
...
If unsuccessful, reestablish connections as needed.
2016-07-01 12:02:17 -04:00
Jeff Mitchell
b0844f9aea
Always run transit acceptance tests
2016-07-01 11:45:56 -04:00
Jeff Mitchell
1ba78db242
Convert MySQL tests to Dockerized versions
2016-07-01 11:36:28 -04:00
Matt Hurne
339aec9751
mongodb secret backend: Refactor URI parsing logic to leverage url.Parse
2016-07-01 09:12:26 -04:00
Matt Hurne
3c666532c8
mongodb secret backend: Prefix all generated usernames with "vault-", and cleanly handle empty display names when generating usernames
2016-06-30 21:11:45 -04:00
Matt Hurne
2eb0e16e1c
Merge branch 'master' into mongodb-secret-backend
2016-06-30 16:43:53 -04:00
Jeff Mitchell
dfd8a530db
Add comment around bind to localhost
2016-06-30 13:49:11 -04:00
Jeff Mitchell
f9d40aa63b
Dockerize Postgres secret backend acceptance tests
...
Additionally enable them on all unit test runs.
2016-06-30 13:46:39 -04:00
Jeff Mitchell
c4c948ff64
Use TRACE not WARN here
2016-06-30 12:41:56 -04:00
Matt Hurne
bbf0e27717
Persist verify_connection field in mongodb secret backend's connection config
2016-06-30 11:39:02 -04:00
Matt Hurne
f55955c2d8
Rename mongodb secret backend's 'ttl_max' lease configuration field to 'max_ttl'
2016-06-30 09:57:43 -04:00
Matt Hurne
7e3e246f55
Merge branch 'master' into mongodb-secret-backend
2016-06-30 09:02:30 -04:00
Jeff Mitchell
444c4d0a8c
Fix test
2016-06-30 08:21:00 -04:00
Jeff Mitchell
f3ef5cd52d
Change warn to trace for these messages
2016-06-29 21:04:02 -04:00
Jeff Mitchell
709f0e4093
Merge remote-tracking branch 'oss/master' into postgres-pl-lock
2016-06-29 17:40:34 -04:00
Jeff Mitchell
d9fa64a07c
Add stmt close calls
2016-06-29 17:39:47 -04:00
Jeff Mitchell
fb9a4a15c5
Run prepare on the transaction, not the db
2016-06-29 17:20:41 -04:00
Matt Hurne
4c97b1982a
Add mongodb secret backend
2016-06-29 08:33:06 -04:00
cara marie
8b11798807
removed option to create 1024 keybitlength certs
2016-06-28 16:56:14 -04:00
Jeff Mitchell
f24a17f343
Add more debug output
2016-06-28 11:03:56 -04:00
Jeff Mitchell
ccf36b81f1
Add some logging to enter/exit of some functions
2016-06-24 16:11:22 -04:00
Jeff Mitchell
307b30d6be
Address review feedback
2016-06-23 10:18:03 -04:00
Jeff Mitchell
cd41344685
Add some more testing
2016-06-23 09:49:03 -04:00
Jeff Mitchell
48bd5db7af
Set some basic key usages by default.
...
Some programs (such as OpenVPN) don't like it if you don't include key
usages. This adds a default set that should suffice for most extended
usages. However, since things get twitchy when these are set in ways
various crypto stacks don't like, it's fully controllable by the user.
Fixes #1476
2016-06-22 16:08:24 -04:00
Jeff Mitchell
13a778ab92
Revert "Use x509 package ext key usage instead of custom type"
...
This reverts commit 0b2d8ff475
.
2016-06-22 13:07:31 -04:00
Jeff Mitchell
0b2d8ff475
Use x509 package ext key usage instead of custom type
2016-06-22 11:51:32 -04:00
Jeff Mitchell
7ffa7deb92
Do some internal renaming in PKI
2016-06-22 11:39:57 -04:00
Vishal Nayak
3291ce6551
Merge pull request #1515 from hashicorp/sql-config-reading
...
Allow reading of config in sql backends
2016-06-21 10:07:34 -04:00
vishalnayak
ff90768684
Added warnings when configuring connection info in sql backends
2016-06-21 09:58:57 -04:00
Vishal Nayak
513346a297
Merge pull request #1546 from hashicorp/secret-aws-roles
...
Added list functionality to logical aws backend's roles
2016-06-20 20:10:24 -04:00
vishalnayak
677028e161
Added test case for listing aws secret backend roles
2016-06-20 20:09:31 -04:00
vishalnayak
c37ef12834
Added list functionality to logical aws backend's roles
2016-06-20 19:51:04 -04:00
Vishal Nayak
55757decec
Merge pull request #1514 from hashicorp/backend-return-objects
...
Backend() functions should return 'backend' objects.
2016-06-20 19:30:00 -04:00
Jeff Mitchell
1c15a56726
Add convergent encryption option to transit.
...
Fixes #1537
2016-06-20 13:17:48 -04:00
vishalnayak
799bb9c286
Address review feedback
2016-06-17 10:11:39 -04:00
vishalnayak
adbfef8561
Allow reading of config in sql backends
2016-06-11 11:48:40 -04:00
vishalnayak
cfe0aa860e
Backend() functions should return 'backend' objects.
...
If they return pointers to 'framework.Backend' objects, the receiver functions can't be tested.
2016-06-10 15:53:02 -04:00
Laura Bennett
c21ef90dba
Merge pull request #1498 from hashicorp/pki-list
...
PKI List Functionality
2016-06-08 15:42:50 -04:00
vishalnayak
07824acfae
Fix broken test
2016-06-08 13:00:19 -04:00
vishalnayak
6d730e33bf
Minor changes to the RabbitMQ acceptance tests
2016-06-08 12:50:43 -04:00
LLBennett
44b1f5fc25
Updates to the test based on feedback.
2016-06-08 16:49:10 +00:00
Laura Bennett
5d945067de
Add PKI listing
2016-06-08 11:50:59 -04:00
Jeff Mitchell
9ceeb685e9
Add an explicit default for TTLs for rabbit creds
2016-06-08 11:35:09 -04:00
Jeff Mitchell
e16a46bca2
Fix some typos in rmq text and structure
2016-06-08 11:31:57 -04:00
vishalnayak
618a82567e
Added pooled transport for rmq client. Added tests
2016-06-08 10:46:46 -04:00
Jeff Mitchell
d5fb9ee98d
Migrate to go-uuid
2016-06-08 10:36:16 -04:00
vishalnayak
f216292e68
Polish the code
2016-06-08 10:25:03 -04:00
Vishal Nayak
8b15722fb4
Merge pull request #788 from doubledutch/master
...
RabbitMQ Secret Backend
2016-06-08 10:02:24 -04:00
Jeff Mitchell
196776b9b8
Make logical.InmemStorage a wrapper around physical.InmemBackend.
...
This:
* Allows removing LockingInmemStorage since the physical backend already
locks properly
* Makes listing work properly by adhering to expected semantics of only
listing up to the next prefix separator
* Reduces duplicated code
2016-06-06 12:03:08 -04:00
Jeff Mitchell
c2a8b09e7b
Use backend function instead of separate backend creation in consul
2016-06-03 10:08:58 -04:00
Jeff Mitchell
551f4a8606
Change AWS/SSH to reuse backend creation code for test functions
2016-06-01 12:17:47 -04:00
Vishal Nayak
577a993223
Merge pull request #1445 from hashicorp/consul-fixups
...
Reading consul access configuration in the consul secret backend.
2016-06-01 12:11:12 -04:00
Jeff Mitchell
74a1e3bd61
Remove most Root paths
2016-05-31 23:42:54 +00:00
vishalnayak
d6d5dacb82
Set config access test case as an acceptance test and make travis happy
2016-05-31 13:27:34 -04:00
vishalnayak
445040e344
Add tests around writing and reading consul access configuration
2016-05-31 13:27:34 -04:00
Jeff Mitchell
539af86939
Add reading to consul config, and some better error handling.
2016-05-31 13:27:34 -04:00
vishalnayak
8ae663f498
Allow * to be set for allowed_users
2016-05-30 03:12:43 -04:00
vishalnayak
c945b8b3f2
Do not allow any username to login if allowed_users is not set
2016-05-30 03:01:47 -04:00
Jeff Mitchell
3bf1645e8f
Return nil for pre-0.5.3 Consul tokens to avoid pathological behavior
2016-05-27 13:09:52 -04:00
Jeff Mitchell
ba5dc348d8
Add test for renew/revoke to Consul secret backend
2016-05-27 11:27:53 -04:00
Vishal Nayak
9c6aebf1c0
Merge pull request #1456 from hashicorp/consul-lease-renewal
...
Fix the consul secret backends renewal revocation problem
2016-05-26 13:59:45 -04:00
Jeff Mitchell
fba0f6e46c
Add comment about the deletions
2016-05-26 10:33:35 -04:00
Jeff Mitchell
1632b8fadc
Remove deprecated entries from PKI role output.
...
Fixes #1452
2016-05-26 10:32:04 -04:00
vishalnayak
2fa0773f3f
s/logical.ErrorResponse/fmt.Errorf in revocation functions of secrets
2016-05-26 10:04:11 -04:00
vishalnayak
41aebe2dba
Fix the consul secret backends renewal revocation problem
2016-05-25 23:24:16 -04:00
Kevin Pike
03cef8ad85
Update and document rabbitmq test envvars
2016-05-20 23:28:02 -07:00
Kevin Pike
8caffae70f
Merge remote-tracking branch 'origin/master' into rabbitmq
2016-05-20 23:27:22 -07:00
Kevin Pike
36023720c6
Address feedback
2016-05-20 22:57:24 -07:00
Jeff Mitchell
8efe203a8e
Don't use pointers to int64 in function calls when not necessary
2016-05-19 12:26:02 -04:00
Jeff Mitchell
8c3e9c4753
Merge pull request #1318 from steve-jansen/aws-logical-assume-role
...
Add sts:AssumeRole support to the AWS secret backend
2016-05-19 12:17:27 -04:00
Jeff Mitchell
5330aa734b
Use Consul API client's DefaultNonPooledTransport.
...
What we should probably do is create a client with a mutex and
invalidate it when parameters change rather than creating a client over
and over...that can be a TODO for later but for now this fix suffices.
Fixes #1428
2016-05-18 00:47:42 +00:00
Sean Chittenden
1dc1d3b312
Merge pull request #1417 from hashicorp/b-pki-expire-ttl-unset
...
Set entry's TTL before writing out the storage entry's config
2016-05-15 10:02:03 -07:00
Sean Chittenden
339c0a4127
Speling police
2016-05-15 09:58:36 -07:00
Sean Chittenden
65a5582c38
Store clamped TTLs back in the role's config
2016-05-15 08:13:56 -07:00
Sean Chittenden
dc19a92820
Set entry's TTL before writing out the storage entry's config
2016-05-15 07:06:33 -07:00
vishalnayak
7a10134f87
Merge branch 'master-oss' into aws-auth-backend
2016-05-10 14:50:00 -04:00
Jeff Mitchell
9de0ea081a
Don't revoke CA certificates with leases.
2016-05-09 19:53:28 -04:00
Jeff Mitchell
3ca09fdf30
Merge pull request #1346 from hashicorp/disable-all-caches
...
Disable all caches
2016-05-07 16:33:45 -04:00
Steve Jansen
69740e57e0
Adds sts:AssumeRole support to the AWS secret backend
...
Support use cases where you want to provision STS tokens
using Vault, but, you need to call AWS APIs that are blocked
for federated tokens. For example, STS federated tokens cannot
invoke IAM APIs, such as Terraform scripts containing
`aws_iam_*` resources.
2016-05-05 23:32:41 -04:00
Jeff Mitchell
42d9df95c1
Merge branch 'master-oss' into aws-auth-backend
2016-05-05 10:36:06 -04:00
Jeff Mitchell
88811a4776
Cleanups, add shared provider, ability to specify http client, and port S3 physical backend over
2016-05-03 17:01:02 -04:00
Jeff Mitchell
56cc74887f
Region is required so error in awsutil if not set and set if empty in client code in logical/aws
2016-05-03 15:25:11 -04:00
Jeff Mitchell
56011c9443
Refactor AWS credential code into a function that returns a static->env->instance chain
2016-05-03 15:10:35 -04:00
Jeff Mitchell
e48cb2e840
Add some more tests around deletion and fix upsert status returning
2016-05-03 00:19:18 -04:00
Jeff Mitchell
027d570f7f
Massively simplify lock handling based on feedback
2016-05-02 23:47:18 -04:00
Jeff Mitchell
bf7ad912e1
Remove some deferring
2016-05-02 22:36:44 -04:00
Jeff Mitchell
16267d5115
Change use-hint of lockAll and lockPolicy
2016-05-02 22:36:44 -04:00
Jeff Mitchell
5ec40a14f4
Address review feedback
2016-05-02 22:36:44 -04:00
Jeff Mitchell
c598a12ab9
Switch to lockManager
2016-05-02 22:36:44 -04:00
Jeff Mitchell
3ab71ca239
Address feedback
2016-05-02 22:36:44 -04:00
Jeff Mitchell
634cea72d7
Fix up commenting and some minor tidbits
2016-05-02 22:36:44 -04:00
Jeff Mitchell
32601f4424
Make a non-caching but still locking variant of transit for when caches are disabled
2016-05-02 22:36:44 -04:00
vishalnayak
81e4235fc0
Support periodic tidy callback and config endpoints.
2016-04-26 10:22:29 -04:00
Jeff Mitchell
77a2afa922
Merge pull request #1291 from mmickan/ssh-keyinstall-perms
...
Ensure authorized_keys file is readable when uninstalling an ssh key
2016-04-25 14:00:37 -04:00
Adam Shannon
e0df8e9e88
all: Cleanup from running go vet
2016-04-13 14:38:29 -05:00
vishalnayak
f61b277e36
Skip acceptance tests if VAULT_ACC is not set
2016-04-11 20:00:15 -04:00
Kevin Pike
450f8675e6
Do not provide a default lease
2016-04-08 09:50:47 -07:00
Kevin Pike
72f910e222
List roles
2016-04-08 09:46:25 -07:00
Kevin Pike
862afdb355
Support verify_connection flag
2016-04-08 09:44:15 -07:00
Kevin Pike
226a89d75e
Fix username generation
2016-04-08 09:32:29 -07:00
Kevin Pike
a20f2bc6bd
Merge branch 'master' of github.com:doubledutch/vault
2016-04-08 09:25:28 -07:00
Kevin Pike
5208a35236
Update comment
2016-04-08 09:07:06 -07:00
Kevin Pike
9f5fe082de
Fix documentation typo
2016-04-08 09:05:38 -07:00
Kevin Pike
d4205eed24
Fix documentation typo
2016-04-08 09:05:06 -07:00
Kevin Pike
8d6ab3afa4
Rename uri to connection_uri
2016-04-08 09:04:42 -07:00
Kevin Pike
8497a6367f
Merge remote-tracking branch 'upstream/master'
2016-04-08 08:57:10 -07:00
vishalnayak
d71dcf2da2
s/TF_ACC/VAULT_ACC
2016-04-05 15:24:59 -04:00
vishalnayak
ac5ceae0bd
Added AcceptanceTest boolean to logical.TestCase
2016-04-05 15:10:44 -04:00
Mark Mickan
8deed677d2
Ensure authorized_keys file is readable when uninstalling an ssh key
...
Without this change, if the user running the ssh key install script doesn't
have read access to the authorized_keys file when uninstalling a key, all
keys will be deleted from the authorized_keys file.
Fixes GH #1285
2016-04-05 17:26:21 +09:30
Jeff Mitchell
2bc8cf4583
Remove check for using CSR values with non-CA certificate.
...
The endpoint enforces whether the certificate is a CA or not anyways, so
this ends up not actually providing benefit and causing a bug.
Fixes #1250
2016-03-23 10:05:38 -04:00
Jeff Mitchell
5b0d85dbf3
Add ability to exclude adding the CN to SANs.
...
Fixes #1220
2016-03-17 16:28:40 -04:00
Vishal Nayak
0b2477d7cb
Merge pull request #998 from chrishoffman/mssql
...
Sql Server (mssql) secret backend
2016-03-10 22:30:24 -05:00
Chris Hoffman
b9c8f95746
Cleaning up lease and lease duration vars and params
2016-03-10 21:15:18 -05:00
Chris Hoffman
e6ce2164d2
Removing root protected endpoints
2016-03-10 21:08:39 -05:00
Chris Hoffman
bfa943c771
Changing DROP USER query to a more compatible version
2016-03-10 21:06:50 -05:00
Chris Hoffman
1d7fe31eac
Adding verify_connection to config, docs updates, misc cleanup
2016-03-09 23:08:05 -05:00
Jeff Mitchell
09070c4aca
Sanitize serial number in revocation path.
...
Ping #1180
2016-03-08 10:51:59 -05:00
Jeff Mitchell
c40c3b393f
Add serial_number back to path_issue_sign responses in PKI
2016-03-08 09:25:48 -05:00
Jeff Mitchell
4cdc44bab5
Add revocation information to PKI fetch output (non-raw only).
...
Fixes #1180
2016-03-07 10:57:38 -05:00
Jeff Mitchell
a9f070323a
Error rather than skip Consul acceptance tests if Consul isn't found
2016-03-07 10:09:36 -05:00
Chris Hoffman
ed5ca17b57
Adding mssql secret backend
2016-03-03 09:19:17 -05:00
Jeff Mitchell
404a7fafff
Don't spawn consul servers when testing unless it's an acceptance test
2016-02-29 14:58:06 -05:00
Jeff Mitchell
581d2cfee0
Don't run transit fuzzing if not during acceptance tests
2016-02-29 14:44:04 -05:00
Jeff Mitchell
a86c1ba264
Only run PKI backend setup functions when TF_ACC is set
2016-02-29 14:41:14 -05:00
Jeff Mitchell
1f3b089a49
Apply hyphen/underscore replacement across the entire username.
...
Handles app-id generated display names.
Fixes #1140
2016-02-26 15:26:23 -05:00
Jeff Mitchell
ec75a24647
Be more explicit about buffer type
2016-02-24 22:05:39 -05:00
Jeff Mitchell
7ed0399e1f
Add "tidy/" which allows removing expired certificates.
...
A buffer is used to ensure that we only remove certificates that are
both expired and for which the buffer has past. Options allow removal
from revoked/ and/or certs/.
2016-02-24 21:24:48 -05:00
vishalnayak
9280dda5f4
rename verify_cert as disable_binding and invert the logic
2016-02-24 21:01:21 -05:00
Matt Hurne
8bd0cc6391
Improve error message returned when client attempts to generate STS credentials for a managed policy; addresses #1113
2016-02-23 08:58:28 -05:00
Jeff Mitchell
50082a61d8
Merge pull request #1114 from hashicorp/dont-delete-certs
...
Do not delete certs (or revocation information)
2016-02-22 16:11:13 -05:00
Jeff Mitchell
db8b4287e3
Address review feedback
2016-02-22 16:11:01 -05:00
Jeff Mitchell
5176c75a0f
Remove extra debugging from PKI tests
2016-02-22 13:39:05 -05:00
Jeff Mitchell
9685c94459
Do not delete certs (or revocation information) to avoid potential
...
issues related to time synchronization. A function will be added to
allow operators to perform cleanup at chosen times.
2016-02-22 13:36:17 -05:00
Jeff Mitchell
4c2c932816
Fix issue where leftover values after cn tests could trigger errors in ipsan tests
2016-02-22 13:35:57 -05:00
Vishal Nayak
7dac5efe27
Merge pull request #1112 from hashicorp/1089-postgres-connection-url
...
postgres: connection_url fix
2016-02-22 11:36:04 -05:00
Jeff Mitchell
7c60548b9a
More improvements to PKI tests; allow setting a specific seed, output
...
the seed to the console, and split generated steps to make it
understandable which seed is for which set of steps.
2016-02-22 11:22:52 -05:00
vishalnayak
046d7f87b4
postgres: connection_url fix
2016-02-22 11:22:49 -05:00
Jeff Mitchell
ec97c6c8e2
Use more fuzziness in PKI backend tests
2016-02-22 10:59:37 -05:00
Jeff Mitchell
d993993f18
Better handle errors from fetchCertBySerial
2016-02-22 10:36:26 -05:00
Kevin Pike
6ac1a8c48b
Update update operation and uuid references
2016-02-21 15:31:22 -08:00
Kevin Pike
79ed734a2f
Merge branch 'master' into rabbitmq
2016-02-21 14:55:06 -08:00
Kevin Pike
d805f2ef57
Add RabbitMQ secret backend
2016-02-21 14:52:57 -08:00
Jeff Mitchell
d3af63193b
Add tests for minimum key size checking. (This will also verify that the
...
key type matches that of the role, since type assertions are required to
check the bit size). Like the rest, these are fuzz tests; I have
verified that the random seed will eventually hit error conditions if
ErrorOk is not set correctly when we expect an error.
2016-02-19 21:39:40 -05:00
Jeff Mitchell
5da2949d45
Check role key type and bits when signing CSR.
...
Two exceptions: signing an intermediate CA CSR, and signing a CSR via
the 'sign-verbatim' path.
2016-02-19 20:50:49 -05:00
vishalnayak
992a32975c
Cap the length midString in IAM user's username to 42
2016-02-19 18:31:10 -05:00
Vishal Nayak
d123d4c02e
Merge pull request #1102 from hashicorp/shorten-aws-usernames
...
Set limits on generated IAM user and STS token names.
2016-02-19 18:25:29 -05:00
Jeff Mitchell
9b57078b26
Some minor changes in mysql commenting and names
2016-02-19 16:44:52 -05:00
Jeff Mitchell
63a8061e87
Set limits on generated IAM user and STS token names.
...
Fixes #1031
Fixes #1063
2016-02-19 16:35:06 -05:00
vishalnayak
b4cd7d019e
mysql: fix error message
2016-02-19 16:07:06 -05:00
vishalnayak
20342d9049
Don't deprecate value field yet
2016-02-19 16:07:06 -05:00
vishalnayak
d8f72887fc
Removed connectionString.ConnectionString
2016-02-19 16:07:05 -05:00
vishalnayak
5f19c77897
mysql: provide allow_verification option to disable connection_url check
2016-02-19 16:07:05 -05:00
Jeff Mitchell
ac3191ad02
Disallow 1024-bit RSA keys.
...
Existing certificates are kept but roles with key bits < 2048 will need
to be updated as the signing/issuing functions now enforce this.
2016-02-19 14:33:02 -05:00
Vishal Nayak
ba9c0dced1
Merge pull request #1086 from hashicorp/iss962-verify-otp-response-code
...
SSH: Fix response code for ssh/verify
2016-02-18 13:32:28 -05:00
vishalnayak
f5f9a9a056
ssh: Fix response code for ssh/verify
2016-02-16 19:46:29 -05:00
vishalnayak
3bad2a3af0
Pki: Respond user error when cert is not found instead of internal error
2016-02-16 17:58:57 -05:00
Jeff Mitchell
4923624593
Merge pull request #1061 from tomrittervg/tomrittervg-typos-1
...
Fix some typos
2016-02-11 15:12:09 -05:00
Jeff Mitchell
4ff2b119eb
Merge pull request #1062 from tomrittervg/tomrittervg-AllowedBaseDomain-migration
...
AllowedBaseDomain will stay non-empty in certain error conditions. None of these conditions should be hit anyways, but this provides an extra safety check.
2016-02-11 15:07:54 -05:00
Jeff Mitchell
a1a7c11154
Merge pull request #1053 from mwielgoszewski/postgresql-revocation
...
Fix PostgreSQL secret backend issues revoking users
2016-02-11 12:52:37 -05:00
Tom Ritter
b6ef18cad0
Fix AllowedBaseDomain Migration
...
AllowedBaseDomain is only zero-ed out if the domain is not found in the (new) AllowedDomains configuration setting. If the domain is found, AllowedBaseDomain is not emptied and this code will be run every single time.
//untested
2016-02-09 15:42:15 -06:00
Tom Ritter
88ae7ae9fe
Typo in error message in path_intermediate.go
2016-02-09 15:08:30 -06:00
Tom Ritter
ccdbb5d910
Typo in policy.go
2016-02-08 12:00:06 -06:00
Jeff Mitchell
122773ba71
Add slack on NotBefore value for generated certs.
...
This fixes an issue where, due to clock skew, one system can get a cert
and try to use it before it thinks it's actually valid. The tolerance of
30 seconds should be high enough for pretty much any set of systems
using NTP.
Fixes #1035
2016-02-07 14:00:03 -05:00
Jeff Mitchell
f75e121d8c
Introduce a locking inmem storage for unit tests that are doing concurrent things
2016-02-04 09:40:35 -05:00
Jeff Mitchell
f4df0d828e
Add transit fuzz test
2016-02-03 17:36:15 -05:00
Vishal Nayak
eb482c4066
Merge pull request #1013 from hashicorp/fix-ssh-tests
...
Fix SSH tests
2016-02-02 14:22:09 -05:00
vishalnayak
6b5b96d795
Fix SSH test cases.
2016-02-02 12:32:50 -05:00
Jeff Mitchell
3ac40a7ae5
Use capabilities to determine upsert-ability in transit.
2016-02-02 10:03:14 -05:00
Jeff Mitchell
216fe1b9da
Revert "Re-add upsert into transit. Defaults to off and a new endpoint /config"
...
This reverts commit dc27d012c0
.
2016-02-02 09:26:25 -05:00
Jeff Mitchell
dc27d012c0
Re-add upsert into transit. Defaults to off and a new endpoint /config
...
can be used to turn it on for a given mount.
2016-02-01 20:13:57 -05:00
Jeff Mitchell
d402292f85
Fix comment text
2016-02-01 17:20:16 -05:00
Jeff Mitchell
7fb8db2e6c
Allow the format to be specified as pem_bundle, which creates a
...
concatenated PEM file.
Fixes #992
2016-02-01 13:19:41 -05:00
Jeff Mitchell
3b77905c75
Cassandra:
...
* Add ability to change protocol version
* Remove config as a root path, use normal ACLs
* Update docs
2016-02-01 10:27:26 -05:00
Jeff Mitchell
c60a9cd130
Remove grace periods
2016-01-31 19:33:16 -05:00
Jeff Mitchell
229973444d
Match leases in the test
2016-01-29 20:45:38 -05:00
Jeff Mitchell
33f3e2727c
Fix building of consul backend test
2016-01-29 20:03:38 -05:00
Jeff Mitchell
2eb08d3bde
Make backends much more consistent:
...
1) Use the new LeaseExtend
2) Use default values controlled by mount tuning/system defaults instead
of a random hard coded value
3) Remove grace periods
2016-01-29 20:03:37 -05:00
Jeff Mitchell
fec6c51197
Merge pull request #979 from hashicorp/transit-locking
...
Implement locking in the transit backend.
2016-01-29 14:40:32 -05:00
Jeff Mitchell
42905b6a73
Update error return strings
2016-01-29 14:40:13 -05:00
Jeff Mitchell
ce44ccf68e
Address final review feedback
2016-01-29 14:33:51 -05:00
Jeff Mitchell
99f193811a
Only specify cert sign / CRL sign for CAs and only specify extended key
...
usages for clients.
This will hopefully fully get rid of the various incompatible ways that
various browsers/libraries deal with key usages.
Fixes #987
2016-01-29 10:26:35 -05:00
Jeff Mitchell
3b22ab02c6
Add listing of roles to PKI
2016-01-28 15:18:07 -05:00
Jeff Mitchell
abd71ce80e
Add list support for mysql roles
2016-01-28 15:04:25 -05:00
Jeff Mitchell
9cf06240e0
Add list support for postgres roles
2016-01-28 14:41:50 -05:00
Jeff Mitchell
298892ef38
Fix postgres backend test SQL for user priv checking
2016-01-28 14:41:13 -05:00
Jeff Mitchell
5bfba62a77
Ensure generatePolicy checks disk, not just the cache, now that we aren't eager loading
2016-01-28 13:10:59 -05:00
Jeff Mitchell
886f641e5d
Add listing of roles to ssh backend
2016-01-28 12:48:00 -05:00
Jeff Mitchell
65c3bc631b
Remove eager loading
2016-01-28 08:59:05 -05:00
Jeff Mitchell
32aed5fa74
Embed the cache directly
2016-01-27 21:59:20 -05:00
Jeff Mitchell
4808c811ed
Merge pull request #942 from wikiwi/fix-ssh-open-con
...
Cleanly close SSH connections
2016-01-27 17:18:54 -05:00
Jeff Mitchell
46514e01fa
Implement locking in the transit backend.
...
This ensures that we can safely rotate and modify configuration
parameters with multiple requests in flight.
As a side effect we also get a cache, which should provide a nice
speedup since we don't need to decrypt/deserialize constantly, which
would happen even with the physical LRU.
2016-01-27 17:03:21 -05:00
Jeff Mitchell
e6b2d45c03
Move archive location; also detect first load of a policy after archive
...
is added and cause the keys to be copied to the archive.
2016-01-27 13:41:37 -05:00
Jeff Mitchell
625e8091a5
Address review feedback
2016-01-27 13:41:37 -05:00
Jeff Mitchell
463cdd3d32
Store all keys in archive always
2016-01-27 13:41:37 -05:00
Jeff Mitchell
e729ace3f1
Add unit tests
2016-01-27 13:41:37 -05:00
Jeff Mitchell
8d5a0dbcdc
Force min decrypt version to 1 if it's zero, which allows fixing problematic archiving logic
2016-01-27 13:41:37 -05:00
Jeff Mitchell
9f2310c15c
Fix logic bug when restoring keys
2016-01-27 13:41:37 -05:00
Jeff Mitchell
ea9fb68a34
Fix decrementing instead of incrementing
2016-01-27 13:41:37 -05:00
Jeff Mitchell
ebe319c96b
Initial transit key archiving work
2016-01-27 13:41:37 -05:00
Jeff Mitchell
aa65b3a21c
Add a max_idle_connections parameter.
2016-01-25 14:47:07 -05:00
Jeff Mitchell
cf95982d80
Allow backends to see taint status.
...
This can be seen via System(). In the PKI backend, if the CA is
reconfigured but not fully (e.g. an intermediate CSR is generated but no
corresponding cert set) and there are already leases (issued certs), the
CRL is unable to be built. As a result revocation fails. But in this
case we don't actually need revocation to be successful since the CRL is
useless after unmounting. By checking taint status we know if we can
simply fast-path out of revocation with a success in this case.
Fixes #946
2016-01-22 17:01:22 -05:00
Dmitriy Gromov
df65547eca
STS now uses root vault user for keys
...
The secretAccessKeysRevoke revoke function now asserts that it is
not dealing with STS keys by checking a new internal data flag. Defaults
to IAM when the flag is not found.
Factored out genUsername into its own function to share between STS and
IAM secret creation functions.
Fixed bad call to "WriteOperation" instead of "UpdateOperation" in
aws/backend_test
2016-01-21 15:04:16 -05:00
Dmitriy Gromov
ea1e29fa33
Renamed sts duration to ttl and added STS permissions note.
2016-01-21 14:28:34 -05:00
Dmitriy Gromov
b37a963841
Removing debug print statement from sts code
2016-01-21 14:05:10 -05:00
Dmitriy Gromov
6f50cd9439
Fixed duration type and added acceptance test for sts
2016-01-21 14:05:10 -05:00
Dmitriy Gromov
522e8a3450
Configurable sts duration
2016-01-21 14:05:09 -05:00
Jack DeLoach
d206599b80
Add STS path to AWS backend.
...
The new STS path allows for obtaining the same credentials that you would get
from the AWS "creds" path, except it will also provide a security token, and
will not have an annoyingly long propagation time before returning to the user.
2016-01-21 14:05:09 -05:00
Jeff Mitchell
4fc58e8b41
Merge pull request #895 from nickithewatt/aws-prexisting-policies
...
Allow use of pre-existing policies for AWS users
2016-01-21 13:23:37 -05:00
Chi Vinh Le
555834f83d
Cleanly close SSH connections
2016-01-19 07:59:08 +01:00
Jeff Mitchell
21f91f73bb
Update deps, and adjust usage of go-uuid to match new return values
2016-01-13 13:40:08 -05:00
Jeff Mitchell
45e32756ea
WriteOperation -> UpdateOperation
2016-01-08 13:03:03 -05:00
Marcin Wielgoszewski
48660ddba5
Address issues with properly revoking a user via these additional REVOKE statements
2016-01-06 09:22:55 -05:00
Nicki Watt
79fb12c977
Updated AWS policy help messages
2015-12-30 19:41:07 +00:00
Nicki Watt
375a57b975
Allow use of pre-existing policies for AWS users
2015-12-30 18:05:54 +00:00
Jeff Mitchell
29f04250ff
Built on GH-890 to add other types
2015-12-29 13:07:24 -05:00
Issac Goldstand
6149e1256e
fix CA compatibility with OpenSSL
2015-12-29 18:52:43 +02:00
Jeff Mitchell
a0308e6858
Migrate 'uuid' to 'go-uuid' to better fit HC naming convention
2015-12-16 12:56:20 -05:00
Jeff Mitchell
555d621a2f
Update key usage logic
...
* Move to one place for both code paths
* Assign ExtKeyUsageAny to CA certs to help with validation with the
Windows Crypto API and Go's validation logic
Fixes #846
2015-12-14 14:23:51 -05:00
Jeff Mitchell
1c8cf4101a
Merge branch 'master' into pki-csrs
2015-12-01 00:09:23 -05:00
Jeff Mitchell
5a5d4212af
Fix AWS tests
2015-12-01 00:05:04 -05:00
Jeff Mitchell
bd03d3c422
Change allowed_base_domain to allowed_domains and allow_base_domain to
...
allow_bare_domains, for comma-separated multi-domain support.
2015-11-30 23:49:11 -05:00
Jeff Mitchell
703a0d65c0
Remove token display names from input options as there isn't a viable
...
use-case for it at the moment
2015-11-30 18:07:42 -05:00
Jeff Mitchell
6342699da3
Greatly simplify and fix the name validation function, as well as fully
...
comment it.
2015-11-23 14:15:32 -05:00
Jeff Mitchell
7eed5db86f
Update documentation, some comments, make code cleaner, and make generated roots be revoked when their TTL is up
2015-11-19 17:14:22 -05:00
Jeff Mitchell
4f2f7a0e3b
Mostly revert changes to certutil as the embedded struct stuff was being
...
problematic.
2015-11-19 14:18:39 -05:00
Jeff Mitchell
061539434f
Update validator function for URIs. Change example of entering a CA to a
...
root cert generation. Other minor documentation updates. Fix private key
output in issue/sign.
2015-11-19 11:35:17 -05:00
Jeff Mitchell
fcbdb5f30a
fix tests
2015-11-19 10:13:28 -05:00
Jeff Mitchell
3437af0711
Split root and intermediate functionality into their own sections in the API. Update documentation. Add sign-verbatim endpoint.
2015-11-19 09:51:18 -05:00
Jeff Mitchell
cb5514f3f3
Move public key comparison logic to its own function
2015-11-19 09:51:18 -05:00
Jeff Mitchell
b5423493ca
Move serial number generation and key validation into certutil; centralize format and key verification
2015-11-19 09:51:18 -05:00
Jeff Mitchell
da34e7c4e7
Add URL validation
2015-11-19 09:51:18 -05:00
Jeff Mitchell
129235ba2e
Fix zero path length handling, and move common field defs elsewhere
2015-11-19 09:51:18 -05:00
Jeff Mitchell
636fad0180
Fix logic around zero path length -- only restrict issuing intermediate CAs in this case
2015-11-19 09:51:18 -05:00
Jeff Mitchell
237285e822
Address some feedback from review
2015-11-19 09:51:18 -05:00
Jeff Mitchell
cf148d8cc6
Large documentation updates, remove the pathlength path in favor of
...
making that a parameter at CA generation/sign time, and allow more
fields to be configured at CSR generation time.
2015-11-19 09:51:18 -05:00
Jeff Mitchell
29d1f5030e
Add path length paths and unit tests to verify same.
2015-11-19 09:51:18 -05:00
Jeff Mitchell
7f12ac0026
Add URLs methods to set OCSP/CRL/CA urls in issued certs, and tests.
2015-11-19 09:51:18 -05:00
Jeff Mitchell
4de2060a96
Add tests for using raw CSR values
2015-11-19 09:51:18 -05:00
Jeff Mitchell
a763391615
Change a few checks on names:
...
- Allow an email address to be the common name of a cert even if email
protection isn't in the role if any name is set to true (this allows
certificates with a common name entry of an email address but used for
other purposes; here just for CA cert signing).
- Don't check the user part of an email against the hostname regex.
Emails can contain e.g. "+" and "_" and these should be allowed even
though they're not part of a valid hostname.
Also, fix a nil pointer issue.
2015-11-19 09:51:17 -05:00
Jeff Mitchell
f8deb998ed
Add config/urls CRUD operations to get and set the URLs encoded into
...
certificates for the issuing certificate URL, CRL distribution points,
and OCSP servers.
2015-11-19 09:51:17 -05:00
Jeff Mitchell
aae434576f
Change use_csr_subject to use_csr_values; copy not only the subject, but
...
also the alternate names and the extensions over as well.
2015-11-19 09:51:17 -05:00
Jeff Mitchell
e8f1e8eb98
Remove setting serial number in the pkix Subject
2015-11-19 09:51:17 -05:00
Jeff Mitchell
a093508ceb
Add a flag so that when signing CA certificates, the Subject (including names and extra names) can be used verbatim from the CSR
2015-11-19 09:51:17 -05:00
Jeff Mitchell
03e4ab785d
Add capability to use the CSR's common name (by default for CA CSRs if
...
no common_name parameter is given, role-controlled for non-CA CSRs).
Fix logic around the CA/CRL endpoints. Now settable when generating a
self-signed root or setting a CA cert into the backend; if not set,
these values are not set in issued certs. Not required when signing an
intermediate cert (and in fact it was wrong to do so in the first
place).
2015-11-19 09:51:17 -05:00
Jeff Mitchell
4e73187837
Add support for EC CA keys, output to base64-encoded DER instead of PEM, and tests for all of those. Also note that Go 1.5 is now required.
2015-11-19 09:51:17 -05:00