In go1.17, the `x509.CreateCertificate()` method fails if the provided Signer (private key) and Parent (cert with public key) do not match. This change both updates the lint library to create and use an issuer cert whose public key matches the throwaway private key used for lint signatures, and overhauls its public interface for readability and simplicity. Rename the `lint` library to `linter`, to allow other methods to be renamed to reduce word repetition. Reduce the linter library interface to three functions: `Check()`, `New()`, and `Linter.Check()` by making all helper functions private. Refactor the top-level `Check()` method to rely on `New()` and `Linter.Check()` behind the scenes. Finally, create a new helper method for creating a lint issuer certificate, call this new method from `New()`, and store the result in the `Linter` struct. Part of #5480 |
||
|---|---|---|
| .. | ||
| proto | ||
| mock_test.go | ||
| ra.go | ||
| ra_test.go | ||