src.hhvn.uk > hhvn.uk-scripts > file > dkim > rmcert

scripts that power hhvn.uk
Log | Files | Refs | README

rmcert (978B)


      1 #!/bin/rc
      2 
      3 # This script removes a DKIM keypair generated by dkim/mkcert
      4 
      5 dir      = /etc/mail/dkim
      6 user     = _dkimsign
      7 selector = $1
      8 ed       = ed25519
      9 rsaprivkey  = $dir/$selector.priv.key
     10 pubkey   = $dir/$selector.pub.key
     11 txt      = $dir/$selector.txt
     12 
     13 files = ( $dir/$selector.rsa.priv.key \
     14           $dir/$selector.rsa.pub.key  \
     15           $dir/$selector.rsa.txt      \
     16           $dir/$selector.$ed.priv.key \
     17           $dir/$selector.$ed.pub.key  \
     18           $dir/$selector.$ed.txt      )
     19 
     20 fn err {
     21 	echo $* >[1=2]
     22 }
     23 
     24 fn as {
     25 	doas -u $user $*
     26 }
     27 
     28 fn removeif-e {
     29 	if (as test -e $1) {
     30 		if (as rm $1) {
     31 			removed = ($removed $1)
     32 		} else {
     33 			failed = ($failed $1)
     34 		}
     35 	}
     36 }
     37 
     38 if (!~ $#* 1) {
     39 	echo 'usage: dkim/rmcert <selector>'
     40 	exit 2
     41 }
     42 
     43 for (f in $files) {
     44 	removeif-e $f
     45 }
     46 
     47 if (~ $removed () && ~ $failed ()) {
     48 	err no such selector: $selector
     49 	exit 1
     50 }
     51 
     52 if (!~ $removed ()) {
     53 	err removed: $removed
     54 }
     55 
     56 if (!~ $failed ()) {
     57 	err failed to remove: $failed
     58 	exit 1
     59 }