{"id":21565802,"url":"https://github.com/hylandsoftware/easycsr","last_synced_at":"2025-04-10T13:13:29.638Z","repository":{"id":114298046,"uuid":"220534654","full_name":"HylandSoftware/easycsr","owner":"HylandSoftware","description":"Certificate Signing Request generation made easy","archived":false,"fork":false,"pushed_at":"2023-04-27T06:32:41.000Z","size":38,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-24T11:56:54.929Z","etag":null,"topics":["certificate","golang","tls"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HylandSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-08T19:30:46.000Z","updated_at":"2023-04-27T06:10:51.000Z","dependencies_parsed_at":"2024-06-20T11:57:51.571Z","dependency_job_id":"091c63cf-c7a1-469b-b6a0-f14cb99ef948","html_url":"https://github.com/HylandSoftware/easycsr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HylandSoftware%2Feasycsr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HylandSoftware%2Feasycsr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HylandSoftware%2Feasycsr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HylandSoftware%2Feasycsr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HylandSoftware","download_url":"https://codeload.github.com/HylandSoftware/easycsr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225653,"owners_count":21068078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["certificate","golang","tls"],"created_at":"2024-11-24T10:21:46.330Z","updated_at":"2025-04-10T13:13:29.511Z","avatar_url":"https://github.com/HylandSoftware.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyCSR\r\n\r\n![](https://github.com/hylandsoftware/easycsr/workflows/CI/badge.svg)  [![License](https://img.shields.io/badge/license-MIT-brightgreen)](./LICENSE) [![Go Report Card](https://goreportcard.com/badge/github.com/hylandsoftware/easycsr)](https://goreportcard.com/report/github.com/hylandsoftware/easycsr)\r\n\r\nStarting with Chrome 58, you need to include the subject common name of a certificate in the SAN list as well.\r\nThis isn't exactly easy with OpenSSL, and this utility aims to make this as simple as possible.\r\n\r\n## Building\r\n\r\nThis project requires Go 1.11+ or vgo for Go Modules support. It can be built like any standard Go binary:\r\n\r\n```bash\r\ngo build ./cmd/easycsr -o easycsr -v\r\n```\r\n\r\n## Usage\r\n\r\n```text\r\neasycsr simplifies the generation of Certificate Signing Requests by providing sane defaults and aiding in SAN generation\r\n\r\nUsage:\r\n  easycsr [command]\r\n\r\nAvailable Commands:\r\n  ecdsa       Generate an ECDSA Certificate Signing Request\r\n  help        Help about any command\r\n  rsa         Generate an RSA Certificate Signing Request\r\n\r\nFlags:\r\n  -n, --common-name string           The common name (FQDN) for the certificate. Will be appended to the SAN list to conform with RFC2818 3.1\r\n      --country string               Subject Country (default \"US\")\r\n  -h, --help                         help for easycsr\r\n  -k, --key string                   The key file to use. If it does not exist, it will be created with the specified key size\r\n      --locality string              Subject Locality\r\n      --org string                   Subject Organization\r\n      --ou string                    Subject Organizational unit\r\n      --out string                   Where to save the CSR to. Printed to standard out if not specified\r\n      --san strings                  Subject Alternate Names (The subject will automatically be appended to this list)\r\n      --save                         Save common settings as defaults\r\n      --signature-algorithm string   The algorithm to sign the CSR with (default \"sha256\")\r\n      --state string                 Subject State\r\n\r\nUse \"easycsr [command] --help\" for more information about a command.\r\n```\r\n\r\n### Example\r\n\r\n```bash\r\n$ easycsr rsa -k jenkins.hylandqa.net.key --common-name jenkins.hylandqa.net --san '*.jenkins.hylandqa.net'\r\nGenerating new private key of length 2048\r\nGenerated CSR:\r\n-----BEGIN CERTIFICATE REQUEST-----\r\nMIIDGTCCAgECAQAwgYkxCzAJBgNVBAYTAlVTMQ0wCwYDVQQIEwRPaGlvMREwDwYD\r\nVQQHEwhXZXN0bGFrZTEYMBYGA1UEChMPSHlsYW5kIFNvZnR3YXJlMR8wHQYDVQQL\r\nDBZSZXNlYXJjaCAmIERldmVsb3BtZW50MR0wGwYDVQQDExRqZW5raW5zLmh5bGFu\r\nZHFhLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/m7Qc14C70\r\n4VfCB5sD+TZIU2jCw4xRQb8Di0mO/ZJmDKcZfOBUFltpFGL+OrTIgHHmLg4lPIuv\r\ngMFdKxoh6dVRW2FEhsOuGwns2xZtEOJVgCNn8aFqyJ4hkvw4Z6VbJDfXo74r4Qqs\r\nuXVcCFhgtCA7b89aH3/5kFSbSaE7z/5NAZ6+tZS6B15WSFK1wdIbbW9gQgvStaRy\r\nZfb+j3qJgFzo+LWF9rdsJSkMhhvXKSxBnEhqMZJ7dvOZjH6fFfWEiBdt0pTXBtyY\r\nlRh2poGaNcpaHuzGNveXe8mb8KeJsk2c8Lel7DvsYteHE4sowQvk6YJ1cNbUWR/w\r\nsCd/VERdxP0CAwEAAaBKMEgGCSqGSIb3DQEJDjE7MDkwNwYDVR0RBDAwLoIWKi5q\r\nZW5raW5zLmh5bGFuZHFhLm5ldIIUamVua2lucy5oeWxhbmRxYS5uZXQwDQYJKoZI\r\nhvcNAQELBQADggEBAARr5uGETstiAgiHqh3MNm+0Kxl/SpV8ptzx/6rO+oP+eJIW\r\nloAVqJPIXhYasDBkkUO6EQxfT5ll+FcdrM0aCgzKGZ/7qsexlbtZv+WDGTC/S72/\r\njLFca5mwTV68mVPkqRyA26PFfQndvvFwMCtYi9ECmaZAo1B3YyMliZIoNmdbfEFG\r\ne7r9NlFFKeJ7YoN4Zq7VLYnJkyXv0AGxA7QBpxt0cpkEXY2bfhZv/fCfFXgR1wCq\r\nL2/UnsWvRJ6mITwsLu/XOqBUJK8W1x1FyBHOVGA8EYCiPKrqIBktmhiok1M1A/df\r\n10BxP0I7+QsNzKAqgMx/Tn3ChQuIG142a3X39bs=\r\n-----END CERTIFICATE REQUEST-----\r\n```\r\n\r\n### Docker\r\n\r\nIf you do not have the `go` toolchain installed, you can use a pre-built docker\r\nimage instead. Just mount your working directory to `/csr`:\r\n\r\n```bash\r\n$ docker run -it --rm -v \"$(pwd):/csr\" hylandsoftware/easycsr rsa -k jenkins.hylandqa.net.key --common-name jenkins.hylandqa.net --san '*.jenkins.hylandqa.net'\r\nUnable to find image 'hylandsoftware/easycsr:latest' locally\r\nlatest: Pulling from hylandsoftware/easycsr\r\nDigest: sha256:1a176b600019e29a6856a66617179fe4be1f990052e47a5a16a0be2d32fe6dc0\r\nStatus: Downloaded newer image for hylandsoftware/easycsr:latest\r\nLoading private key from jenkins.hylandqa.net.key\r\nGenerated CSR:\r\n-----BEGIN CERTIFICATE REQUEST-----\r\nMIIDGTCCAgECAQAwgYkxCzAJBgNVBAYTAlVTMQ0wCwYDVQQIEwRPaGlvMREwDwYD\r\nVQQHEwhXZXN0bGFrZTEYMBYGA1UEChMPSHlsYW5kIFNvZnR3YXJlMR8wHQYDVQQL\r\nDBZSZXNlYXJjaCAmIERldmVsb3BtZW50MR0wGwYDVQQDExRqZW5raW5zLmh5bGFu\r\nZHFhLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALaKxCs1vGXS\r\nwGWwh647x35amrrcX5poVEdFj3t3ncD3yYj8K8ICMuwMSSFbpBK/oQYBNf8cP3qk\r\nozH9kE/PP83IZVaExTgpAs+IAtihjl5NJ7SZX2/ZiLj/Oo4rS9H0oZi6S1LUwJk+\r\nKJ7t58vHKOyuY1DDP0rdYVh+/VrB3SzwFdQF68I9mFsC/CLAMZL0Ueiawx30gl51\r\n5qpkEWyQ41hGbtbhAdmeWm0Z1F5ys1ViMZfiRdLuS7vo25l+fxfXmfD3CcZNNrPv\r\njJRaPRwLZKis6mv7mkFQxupP9oVdDWY0iZzfFr35yfMhdKnA2eO1UD3kdyMM00vL\r\nI2zVXgykRfsCAwEAAaBKMEgGCSqGSIb3DQEJDjE7MDkwNwYDVR0RBDAwLoIWKi5q\r\nZW5raW5zLmh5bGFuZHFhLm5ldIIUamVua2lucy5oeWxhbmRxYS5uZXQwDQYJKoZI\r\nhvcNAQELBQADggEBAGjCx+/xtWB6CBjESMllH2sekwyfK8gJG1NeGS4jOs6V3VwW\r\nuzo14ZT+Yc+KUiP7wa7e6El8vGshwa9SGnj7TpVG8yggwJDi/wqYuMSROJL3zp1d\r\nki8/DHhUAcGqdFdUHnbI92f5nqgg6CgsV7xVHPGr/2XEc9yfkRXfJZVw+3cXhp5a\r\n8W/57v6V4CS8izBA6ElXX2xIm5AIfAWh6xWrJBRfAFCGAA5Acm13mtqLVNVQwFqi\r\n3MkTa49FrFHkX9U7WD3dYcpHXH/XJnyQa8eVDbtxXBEE0ZQLER+ync0Ay4G/OVtH\r\n6lt7t8sm+cuAPbCzaWaf6Z1hE3/AH/gXckJ8xyY=\r\n-----END CERTIFICATE REQUEST-----\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhylandsoftware%2Feasycsr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhylandsoftware%2Feasycsr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhylandsoftware%2Feasycsr/lists"}