cfssl
cfssl copied to clipboard
auth_keys are ignored on http endpoints?
config:
{
"signing": {
"default": {
"usages": [
"signing",
"key encipherment",
"client auth"
],
"auth_key": "supersecretkey",
"expiry": "26280h"
},
"profiles": {
"server": {
"usages": [
"signing",
"key encipherment",
"server auth"
],
"expiry": "43800h"
}
}
},
"auth_keys": {
"supersecretkey": {
"type": "standard",
"key": "0123456789ABCDEF0123456789ABCDEF"
}
}
}
But when I make a request to /api/v1/cfssl/newcert (without a profile) it allows me to create a certificate without passing the key. I also don't see how I would even pass it in api.txt. From the blog post about cfssl it says:
We also added an authentication key to this signing policy. This authentication key should be randomly generated and kept private. The API key is a basic authentication mechanism that prevents unauthorized parties from requesting certificates.
Am I misunderstanding how this works?
The auth feature was mostly designed for CFSSL instances interacting with the multirootca, but the cfssl server doesn't have an authenticated newcert endpoint for local signatures. This is something we're thinking about the best way to implement.
Is there an update for this? I was planning to use this tool but this bug is a show stopper.
I would like to use auth_keys work with /api/v1/cfssl/newcert too. is this planned in an upcoming release? Thanks
This is a real problem and prevents us from adopting cfssl.