#!/bin/bash ############################################################# # Script name: remove-cert.sh # Author: Gilles Mouchet (gilles.mouchet@gmail.com # Version: 1.0.0 # Description: Removes certificate # License: GNU GPL v3 # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # Changelog # [1.0.0] - 2026-04-05 # Added: # - removes certificates # Project initialization: # - initialization by gilles.mouchet@gmail.com # ############################################################ version=1.0.0 ############################################################ # FUNCTIONS ############################################################ #----------------------------------------------------------- # Display usage usage() { cat << EOF Usage: ./$(basename "$0") options Template script Options: -n, --cn Delete the certificates from DB To find the commonName, use the script ./info-cert.sh -h -h, --help Show this help -v, --version Show script version Examples: Show this help ./$(basename "$0") -h Delete EOF } ############################################################ # MAIN ############################################################ main(){ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(dirname "$SCRIPT_DIR")" # read library source "$ROOT_DIR/lib/stdlib.sh" # init config init_default init_env # set color set_color # check if script is run with sudo check_sudo # check if param exist if [ -z "$1" ]; then usage exit 1 fi # read cli parameters while [[ "$#" -gt 0 ]]; do case "$1" in -n|--cn) if [[ -z "$2" || "$2" == -* ]]; then echo -e "\n${RED}Error: Argument missing for option -n or --cn. See ./$(basename "$0") --help${NC}\n" exit 1 else # check if file exit if [ ! -f "$CERTS_PATH/$2.crt" ] || [ ! -f "$CERTS_PATH/$2.key" ]; then msg_error "$2.crt does not exist !" else echo -e "${ORANGE}$2${NC} will be deleted" yes_no "Are you sure" echo -e -n "$2 deleted: " # * must be outside "..." rm -f "$CERTS_PATH/${2}"* check_rc $? fi fi shift 2 ;; -v|--version) cat << EOF $(basename "$0") $version Copyright (C) 2003 - $(date +%Y) Gilles Mouchet EOF exit ;; *|-h|--help) usage exit ;; esac done } main "$@"