aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
4 hoursgo.mod: update all dependencies and set minimum Go to v1.26.0HEADmainShulhan
2023-11-10all: fork of unmaintained "github.com/google/easypki"Shulhan
Changes, * Add Go module * replace "github.com/codegangsta/cli" with "github.com/urfave/cli" * Changes import path to this repository using the following command, $ find . -type f -name "*.go" \ | xargs sed -i "s#github.com/google/easypki#git.sr.ht/~shulhan/easypki#g" * Reformat all files using goimports * Remove reference to Travis and CodeCov
2017-02-17Update README to match current state of the CLI.Jeremy Clerc
2017-02-16Add badge and link to godoc.Jeremy Clerc
2017-02-15Example readme, make localhost a link. Adjust import orders in examplev1.1.0Jeremy Clerc
file.
2017-02-15Group example binary to not mess with go get.Jeremy Clerc
2017-02-15Add client authentication example.Jeremy Clerc
2017-02-15Move file creation in its own defined func.Jeremy Clerc
2017-02-14Add tests for local store.Jeremy Clerc
2017-02-14Update copyright yearJeremy Clerc
2017-02-14Add bolt store backend.Jeremy Clerc
2017-02-14Add tests for certificate pkg.Jeremy Clerc
2017-02-13Add build/coverage badge. Update travis config to have code coverage.Jeremy Clerc
2017-02-13Reflect new version for the command static version.Jeremy Clerc
2017-02-13Add travis config.Jeremy Clerc
2017-02-12Refactor the all API for cleanup and extensibility.v1.0.0Jeremy Clerc
API now has a store interface so one could choose to store the different files in a database for example.
2016-10-26version bumpv0.1.1Jeremy Clerc
2016-10-26Merge pull request #5 from theckman/supereasypkijeremy-clerc
create intermediate CA certificates + bug fixes
2016-10-25Merge pull request #2 from fujin/supereasypkiTim Heckman
[easyca] handle CAs, Intermediates, and Client
2016-10-26[easyca] handle CAs, Intermediates, and ClientAJ Christensen
* Split certificate type handling up, try to re-use operations where possible. * Set the EKUs for client/serverauth on clients, servers, and Intermediate CAs
2016-10-25[easyca] for intermediary add eku client/server CATim Heckman
Also add DigitalSignature to certificates generated.
2016-10-25create intermediate CA certificates + bug fixesTim Heckman
**Note**: This change introduces breaking changes to the `easypki` API: * The `GenerateCertificate` function had a typo in its name. It used to be `GenerateCertifcate` (missing an `i`). * The `GenerateCertificate` function now takes a struct as a parameter, making it easier to use. The main reason behind this change was to provide the ability to generate intermediate CA certificates. This will allow people and organizations to use `easypki` to create a multi-layered tree of trust. In addition to that, the ability to set the maximum path length on CA certificates was added to make the keys safer (less prone for abuse). You can now generate intermediate certificates using the `--intermediate` flag. This flag effectively creates a new CA certificate, within the CA, but doesn't overwrite the `ca.crt` or `ca.key` file. Instead, it uses the same logic as regular certificates and saves the cert and key within the `issued/` and `private/` directories respectively. It's suggested that the `--max-path-len` flag be used when generating CA certificates. You can now set the maximum path depth for a CA certificate by using the `--max-path-len` flag. If you want to generate an offline root CA and ensure that your intermediates cannot generate valid intermediate CA certificates themselves, you would set `--max-path-len 1` when generating the root CA. It's recommended to always use this flag when generating CA certificates, otherwise that certificate will be valid for an "infinite" number of intermediate certificates. With the features above added, a few bugs were discovered in the certificates being generated by `easypki`. Specifically we needed to fix some issues with the KeyUsage and ExtKeyUsage settings of the certs. While troubleshooting an issue with Consul, trying to do verification of a TLS chain generated by `easypki`, I ran in to a situation where the certificates were failing to validate. It turns out there were a few issues that caused this to happen. I found an issue on Hashicorp's Vault project referencing a similar issue with CA certificates generated by Vault itself. This guided me to the first bug that needed patching: * https://github.com/hashicorp/vault/pull/852 >Assign ExtKeyUsageAny to CA certs to help with validation with the >Windows Crypto API and Go's validation logic The solution: when generating CAs, we now set the `ExtKeyUsage` to `ExtKeyUsageAny`. This will mark the CA certificate as being valid for any usage. Some X.509 validation systems require that all certificates in the chain contain the requested usage, including in Go. The second was that the server certificates weren't being assigned `ExtKeyUsageClientAuth` causing issues with applications trying to use the certificates as both client and server certificates. The fix is to also give server certificates `ExtKeyUsageClientAuth`. Upon investigation of certificates deployed for public Internet services, it seems that `ExtKeyUsageClientAuth` is pretty common in server certificates. fixes #2 fixes #3 fixes #4
2016-07-29Merge pull request #1 from Aciid/patch-1jeremy-clerc
Update main.go easypki repository on import
2016-07-29Update main.go easypki repository on importIlari Lind
Fix non-existing repository on import.
2015-09-14add contributingJeremy Clerc
2015-09-13update readme formatJeremy Clerc
2015-09-13rename easyca to easypkiJeremy Clerc
2015-09-12add env.sh exampleJeremy Clerc
2015-09-12add licenseJeremy Clerc
2015-09-12add readmeJeremy Clerc
2015-09-12add test for serial filesJeremy Clerc
2015-09-12test init pkiJeremy Clerc
2015-09-12avoid nested code in easyca.GenCRLJeremy Clerc
2015-09-12aggregated file creation in pki structure initJeremy Clerc
2015-09-11add OU params, put entire subject in index.txtJeremy Clerc
2015-09-11Move NextNumber to easyca.goJeremy Clerc
2015-09-11add gencrlJeremy Clerc
NextNumber replaces NextSerial to be used by serial+crlnumber
2015-09-11move initpki, add revokeJeremy Clerc
moved initpki to easyca package add revoke command and method
2015-09-11fix serial, add indexJeremy Clerc
fix serial, supposed to be hexa for openssl compatibility add index file to be used by oscp daemon, revoke/crl future commands
2015-09-10initial commitJeremy Clerc