Commit Graph

110 Commits

Author SHA1 Message Date
James Munnelly
58754abf37 Refactor codebase for v1alpha2
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-09-20 16:22:43 +01:00
stuart.warren
7eb1e34e48 feat: enable certificate keyusages
Enable users to request x509 key usages and extended key usages when
defining a certificate or certificate signing request

fixes: #301

Signed-off-by: stuart.warren <stuart.warren@ocado.com>
2019-08-31 01:00:00 +01:00
JoshVanL
efe1d4e670 Use DefaultCertDuration in ./pkg/api/util
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-19 16:04:12 +01:00
JoshVanL
ab346453e3 Moves DefaultCertDruation to ./api/util/duration.go
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-19 16:04:12 +01:00
JoshVanL
d96c7d2e1c Adds venafi internal package with venafi CR controller
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-19 16:04:12 +01:00
JoshVanL
5f70998acb Cleans up some code and clearer naming
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-13 23:37:35 +01:00
JoshVanL
ea84dfdb2b Code organisation and cleaning up code
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-13 23:37:35 +01:00
JoshVanL
1bbdd03bfe Move DefaultCertDuration to pkg/util/api
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-13 23:37:35 +01:00
JoshVanL
635aae6ffc Fix vault duration panic + util.CertDuration to default
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-13 23:37:06 +01:00
JoshVanL
6d3416325e Move tests to use new slimmer controller test builder
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-01 16:39:01 +01:00
JoshVanL
0ce8aab9d2 Adds SelfSigned certificaterequest controller
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-08-01 16:39:01 +01:00
James Munnelly
406e6ad291 Don't depend on pkg/issuer in pkg/util/pki
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-07-25 15:12:41 +01:00
jetstack-bot
4dc46d68cd
Merge pull request #1910 from JoshVanL/ca-issuer-sign-migration
Move CA signer into ./pkg/controller/certificaterequests/ca
2019-07-25 14:48:28 +01:00
JoshVanL
f8c511a705 Address ca sign returning error
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-23 12:06:30 +01:00
JoshVanL
294d8ae93d Move IssuerKind to ./pkg/util
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-23 09:27:22 +01:00
JoshVanL
ab838197fc Move CA signer into ./pkg/controller/certificaterequests/ca
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-23 09:27:22 +01:00
James Munnelly
32bc10710e Update use of featuregate package
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-07-20 01:57:24 +01:00
James Munnelly
b99b492827 Remove unused var from GenerateCSR
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-07-17 10:04:40 +01:00
James Munnelly
096fa22d07 Set ExtKeyUsageServerAuth in GenerateTemplateFromCertificateRequest
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-07-05 17:27:43 +01:00
JoshVanL
a60a6d755f Share key type func
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-05 10:14:25 +01:00
JoshVanL
f9417da5c5 Fixes and adds tests to utils/Equal.. funcs
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-04 15:21:00 +01:00
JoshVanL
98d5725eea WIP, add CertificateRequest e2e tests
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-03 15:59:05 +01:00
JoshVanL
6b1ff0148b Adds certificate request base controller and CA issuer controller
instance

Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-03 15:42:03 +01:00
JoshVanL
79e5cf37a3 Improve comments and test coverage of pkg/issuer/ca/sign.go
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-02 11:55:45 +01:00
JoshVanL
f5d0428c78 Moves SignCSRTemplate to pkg/utils/pki
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-07-01 09:23:58 +01:00
JoshVanL
e70374d069 Adds IsCA to CSR template generation
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-06-30 17:59:08 +01:00
JoshVanL
70b974695b Adds Sign function to CA issuer
Signed-off-by: JoshVanL <vleeuwenjoshua@gmail.com>
2019-06-28 16:40:12 +01:00
Crystal-Chun
4f35c56443 Allows certificates to use PKCS#8 Issue 1155 (#1308)
* Added KeyEncoding spec value to Certificate type.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added validation for Certificate Spec field KeyEncoding.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added Encoding PKCS8 function for encoding private keys in generate.go.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Modified the call to the private key encoding function for each issuer in issue.go to pass in the extra KeyEncoding field.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added case for decoding pkcs8 key.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Converting decoded PKCS8 key into crypto.Signer.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added debugging log statements for decoding private keys.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Log messages for decoding private keys.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added logs for decoding private keys.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added debug logs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Add debug logs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Modified keys package.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed the key converter to the ssh package.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Testing decoding as pkcs1 key instead.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Trying to convert to crypto.Signer for PKCS8.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Converting to rsa.PrivateKey.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed return to type private key.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changing parsing.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Cleaned up logs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed logging info.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed debug logging.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fix parse test for new pkcs8 support.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed extra lines.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed extra lines and spaces.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed duplicate PKCS8 functions.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed the KeyEncoding field from an int to a string.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed issue.go for issuers to pass in the certificate when encoding private key.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Corrected capitalization of Spec.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed the error message to use the correct variable.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed selfsigned issue.go to pass in certificate object instead of the keyEncoding.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed error format.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed test to pass in certificate variable into encoding private key function.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed syntax issue.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed parameter for encode private key function in parse_test.go.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed parse test for encode private key function.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed invalid syntax.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Moved the if statement.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Cleaned up go-fmt errors.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Ran bazel run //hack:update-reference-docs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed encode private key to take keyEncoding instead of certificate.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed setting keyEncoding for ca issue test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixing passing in the correct type for encoding private key.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixing passing in the correct type for encoding private key.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed parameter passed into encode private key for parse test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added unit test for encoding different private key types.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed key encoding field from existing test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added KeyEncoding spec value to Certificate type.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added validation for Certificate Spec field KeyEncoding.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added Encoding PKCS8 function for encoding private keys in generate.go.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Modified the call to the private key encoding function for each issuer in issue.go to pass in the extra KeyEncoding field.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added case for decoding pkcs8 key.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Converting decoded PKCS8 key into crypto.Signer.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added debugging log statements for decoding private keys.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Log messages for decoding private keys.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added logs for decoding private keys.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added debug logs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Add debug logs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Modified keys package.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed the key converter to the ssh package.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Testing decoding as pkcs1 key instead.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Trying to convert to crypto.Signer for PKCS8.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Converting to rsa.PrivateKey.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed return to type private key.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changing parsing.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Cleaned up logs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed logging info.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed debug logging.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fix parse test for new pkcs8 support.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed extra lines.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed extra lines and spaces.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed duplicate PKCS8 functions.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed the KeyEncoding field from an int to a string.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed issue.go for issuers to pass in the certificate when encoding private key.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Corrected capitalization of Spec.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed the error message to use the correct variable.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed selfsigned issue.go to pass in certificate object instead of the keyEncoding.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed error format.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed test to pass in certificate variable into encoding private key function.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed syntax issue.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed parameter for encode private key function in parse_test.go.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed parse test for encode private key function.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed invalid syntax.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Moved the if statement.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Cleaned up go-fmt errors.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Ran bazel run //hack:update-reference-docs.

Signed-off-by: Crystal Chun <crystalchun@crystals-mbp.raleigh.ibm.com>
Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Changed encode private key to take keyEncoding instead of certificate.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed setting keyEncoding for ca issue test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixing passing in the correct type for encoding private key.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixing passing in the correct type for encoding private key.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed parameter passed into encode private key for parse test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added unit test for encoding different private key types.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed key encoding field from existing test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed syntax error for declaring constant.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Moving private key all to one line.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added commas after each test case and changed the private key to a pkcs1 rsa private key.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed test errors.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added default error.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Predefined actualEncoding variable.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Undeclared actualEncoding variable.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Declared actualEncoding variable to nil.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Declared actualEncoding variable to empty key encoding type.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixed unit test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Ran update go-fmt.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Added e2e test for pkcs8 certificate.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Removed unused variable.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Creating issue in pkcs8 e2e test.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Fixing no new variables on the left side of := for err variable.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* Updated docs to mention the key encoding field.

Signed-off-by: Crystal Chun <crystalchun@Crystals-MacBook-Pro.local>

* change venafi issuer to support different cert encoding

Signed-off-by: Daniel Morsing <dmo@jetstack.io>

* update crds

Signed-off-by: Daniel Morsing <dmo@jetstack.io>
2019-06-18 11:34:03 +01:00
James Munnelly
a13543013d Use logr in pkg/util/kube
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-03-12 14:24:50 +00:00
James Munnelly
dfabece6eb Use a one-use CA to sign temporary certificates
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-02-25 20:48:13 +00:00
James Munnelly
439499561c Remove dependence on k8s.io/ingress
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-02-22 12:34:52 +00:00
James Munnelly
6c66185358 Fix bug when specify keyAlgorithm without an explicit keySize
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-02-04 17:34:56 +00:00
jetstack-bot
22b0863801
Merge pull request #1128 from lrolaz/certificate-ip-sans
Add IP Address in CSR
2019-01-31 23:05:25 +00:00
jetstack-bot
e848bcec57
Merge pull request #1191 from chr-fritz/parse-pkcs8
Adds key parser for PKCS#8 encoded private keys.
2019-01-31 22:49:26 +00:00
Laurent ROLAZ
ed82465df5 Refactoring
Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
2019-01-30 13:04:28 +01:00
Laurent Rolaz
597cda40af Fix some GO Style
Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
2019-01-25 18:50:16 +01:00
Laurent Rolaz
18daea16ae Remove duplicate IPAddressesToString
Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
2019-01-25 18:50:16 +01:00
Laurent Rolaz
c5fa202239 Fix some GO Style
Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com> (+2 squashed commits)
Squashed commits:
[ce6cc2eb] Fix some GO Style

Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
[563b7275] Fix some GO Style

Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
2019-01-25 18:50:16 +01:00
Laurent Rolaz
531c26061c GO Format
Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>

Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
2019-01-25 18:38:12 +01:00
Laurent Rolaz
6dcc408741 Add IP Address in CSR
Signed-off-by: Laurent Rolaz <laurent.rolaz@gmail.com>
2019-01-25 18:38:12 +01:00
James Munnelly
7fd1c2a0e3 Fix issuing a certificate into a pre-existing secret
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-01-15 14:44:11 +00:00
Christian Fritz
96ae76b89d
Adds key parser for PKCS#8 encoded private keys.
Signed-off-by: Christian Fritz <christian.fritz@qaware.de>
2019-01-14 08:46:52 +01:00
Mike Bryant
4fa6d9775c feat: Include entire certificate chain if provided
Allow a user to provide an entire certificate chain to the ca issuer. Include that chain in all generated certificates

Signed-off-by: Mike Bryant <m@ocado.com>
2019-01-09 11:39:48 +00:00
James Munnelly
0fcc0c666c Update copyright header year
Signed-off-by: James Munnelly <james@munnelly.eu>
2019-01-07 15:07:55 +00:00
James Munnelly
08882e5fc2 Wrap missing secret data errors with Invalid
Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-29 01:18:43 +00:00
James Munnelly
f358d987ea Retrieve private key before certificate in kube TLS function
Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-28 19:18:30 +00:00
James Munnelly
dc97dde2ef Make Certificate Ready condition behaviour consistent between all issuer types
Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-28 17:00:51 +00:00
Max Ehrlich
bbd9249198 Configurable issuer duration and renewBefore Take 2 (#893)
* Configurable issuer duration and renewBefore [1/3]

This is part one of (probably) three parts manually moving the changes from commit 723015174a167d746323f506ab3575cfb243d8bd to the new master. This commit moves the basic functionality of configurable duration while skipping e2e tests and docs. It does not include new work.

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Configurable issuer duration and renewBefore [2/3]

This commit moves over most of the e2e testing updates, some things are intentionally left out as they may be obsolete

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Configurable issuer duration and renewBefore [3/3]

This commit moves the documentation changes, completely the migration of the original code to the latest master

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerunning all hack scripts with since the massive bazel update

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add missing boilerplate headers

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerun codegen hack

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerunning update-docs hack

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix failing unit tests

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix build errors in e2e tests

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerun update-deps

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Don't recreate the CA issuer, it already exists

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Need to create new issuers for the duration and renew time tests because those fields are set in the issuer, so make sure they are named uniquely

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add duration e2e tests for self-signed issuer

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add duration e2e tests for vault w/ custom mount path

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add validation to disallow acme certificates with duration and renewBefore set and update unit tests to verify

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Update docs to mention duration/renew for self-signed issuer and fix potential parsing errors with rst formatting

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Self-signed issuer was missing duration validation

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix a bug causing certificates with a short enough renew-before w.r.t their duration to be renewed instantly and forever

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Print the exact time until renewal

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Move duration and renwal validation to the issuer validation

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Update e2e tests to work with new validation

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add e2e test for the self-signed issuer

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Redo cert duration and renew before to appear as part of the CSR and not the issuer

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Updating tests to match new duration/renewbefore format

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Update e2e tests to match new format

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Update docs to reflect changing the field from issuers to certificates

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove event firing and replace with a TODO as of discussion on PR

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Run hack scripts

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove the sync unit test since without events there is no way to catch the warnings that it was testing

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Use IssuerOptions RenewBeforeExpiryDuration if certificates dont set a renewBefore value for immediate renewal checks

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Delete check on certificate data length in e2e test for certificate duration as there is no reason it should be there

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Update e2e tests since certificate creation will never generate an event

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerunning hack scripts after big rebase

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix a few problems that slipped through during the rebase

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix an e2e error that resulted from the rebase

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add unit test for the calculateTimeBeforeExpiry function

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Adding back in a bunch of missing error checks

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove unused function

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add missing boilerplate

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove unused constant

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Move log constants to function body

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerun hack scripts

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove mistakenly commited file

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove double-import of util package

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix bad function call in e2e vault issuer

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Change duration and renewBefore to be pointer fields as they are optional

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Remove wrong vault issuer test that got passed the rebase somehow

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Change e2e to use pointer format

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Move e2e cert tests out of issuer test file

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Move e2e self-signed issuer test to new location

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Make sure to check for nil in GenerateTemplate

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Add more empty checks to be safe

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Rerunning hacks after rebase

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix bad function call in new e2e test

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Try not setting duration and renewbefore on acme e2e tests

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Zero checks should really just be replaced by nil tests, zero should be caught as any other too-small value

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fixed a missing nil check that got away

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Change e2e duration test format to use pointer times to better simulate API calls

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix sync unit test to match e2e test format

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Fix vault e2e test

Signed-off-by: Max Ehrlich <max.ehr@gmail.com>

* Revert changes to Certificate sync function

Signed-off-by: James Munnelly <james@munnelly.eu>

* Remove selfsigned e2e issuer.go

Signed-off-by: James Munnelly <james@munnelly.eu>

* Don't use ACME issuer in duration example and tidy up line endings

Signed-off-by: James Munnelly <james@munnelly.eu>

* Allow renewBefore to be set on ACME certificates

Signed-off-by: James Munnelly <james@munnelly.eu>

* Update renewBefore ACME docs. Remove unused fields.

Signed-off-by: James Munnelly <james@munnelly.eu>

* Rename calculateTimeBeforeExpiry to calculateDurationUntilRenew

Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-14 22:30:00 +00:00
James Munnelly
fdfc7f2f77 Don't explicitly set SignatureAlgorithm on signed Certificate
Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-07 11:14:54 +00:00
James Munnelly
ad0971288e Run update-gofmt
Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-06 11:10:21 +00:00