mirror of
https://github.com/dehydrated-io/dehydrated.git
synced 2026-04-23 00:38:30 +02:00
Add --signcsr command
This commit is contained in:
@@ -8,6 +8,7 @@ Other dependencies are: curl, sed, grep, mktemp (all found on almost any system,
|
|||||||
|
|
||||||
Current features:
|
Current features:
|
||||||
- Signing of a list of domains
|
- Signing of a list of domains
|
||||||
|
- Signing of a CSR
|
||||||
- Renewal if a certificate is about to expire or SAN (subdomains) changed
|
- Renewal if a certificate is about to expire or SAN (subdomains) changed
|
||||||
- Certificate revocation
|
- Certificate revocation
|
||||||
|
|
||||||
@@ -25,6 +26,7 @@ Default command: help
|
|||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
--cron (-c) Sign/renew non-existant/changed/expiring certificates.
|
--cron (-c) Sign/renew non-existant/changed/expiring certificates.
|
||||||
|
--signcsr (-s) path/to/csr.pem Sign a given CSR, output CRT on stdout (advanced usage)
|
||||||
--revoke (-r) path/to/cert.pem Revoke specified certificate
|
--revoke (-r) path/to/cert.pem Revoke specified certificate
|
||||||
--help (-h) Show help text
|
--help (-h) Show help text
|
||||||
--env (-e) Output configuration variables for use in other scripts
|
--env (-e) Output configuration variables for use in other scripts
|
||||||
|
|||||||
@@ -526,6 +526,25 @@ command_sign_domains() {
|
|||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Usage: --signcsr (-s) path/to/csr.pem
|
||||||
|
# Description: Sign a given CSR, output CRT on stdout (advanced usage)
|
||||||
|
command_sign_csr() {
|
||||||
|
# redirect stdout to stderr
|
||||||
|
# leave stdout over at fd 3 to output the cert
|
||||||
|
exec 3>&1 1>&2
|
||||||
|
|
||||||
|
init_system
|
||||||
|
|
||||||
|
csrfile="${1}"
|
||||||
|
if [ ! -r "${csrfile}" ]; then
|
||||||
|
_exiterr "Could not read certificate signing request ${csrfile}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sign_csr "$(< "${csrfile}" )"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
# Usage: --revoke (-r) path/to/cert.pem
|
# Usage: --revoke (-r) path/to/cert.pem
|
||||||
# Description: Revoke specified certificate
|
# Description: Revoke specified certificate
|
||||||
command_revoke() {
|
command_revoke() {
|
||||||
@@ -622,6 +641,13 @@ main() {
|
|||||||
set_command sign_domains
|
set_command sign_domains
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
--signcsr|-s)
|
||||||
|
shift 1
|
||||||
|
set_command sign_csr
|
||||||
|
check_parameters "${1:-}"
|
||||||
|
PARAM_CSR="${1}"
|
||||||
|
;;
|
||||||
|
|
||||||
--revoke|-r)
|
--revoke|-r)
|
||||||
shift 1
|
shift 1
|
||||||
set_command revoke
|
set_command revoke
|
||||||
@@ -702,6 +728,7 @@ main() {
|
|||||||
case "${COMMAND}" in
|
case "${COMMAND}" in
|
||||||
env) command_env;;
|
env) command_env;;
|
||||||
sign_domains) command_sign_domains;;
|
sign_domains) command_sign_domains;;
|
||||||
|
sign_csr) command_sign_csr "${PARAM_CSR}";;
|
||||||
revoke) command_revoke "${PARAM_REVOKECERT}";;
|
revoke) command_revoke "${PARAM_REVOKECERT}";;
|
||||||
*) command_help; exit 1;;
|
*) command_help; exit 1;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user