Skip to content

Instantly share code, notes, and snippets.

@shentonfreude
Created April 4, 2018 12:56
Show Gist options
  • Save shentonfreude/f3392a70d41387d6950b818ec23beb11 to your computer and use it in GitHub Desktop.
Save shentonfreude/f3392a70d41387d6950b818ec23beb11 to your computer and use it in GitHub Desktop.
Uninstall CAC PIV card software per MilitaryCAC.org: useful when reinstalling
#!/bin/bash
# Automate the CAC Uninstall doc on MilitaryCAC.org for Macs
# http://militarycac.org/macuninstall.htm
RM="echo rm "
RM="rm"
declare -a OPENS=(
"/Applications/Utilities/Centrify/SmartCardTool"
"/Applications/Utilities/Centrify/SmartCardAssist"
"/Applications/Utilities/ActivID ActivClient for Mac Uninstaller"
)
declare -a RM_DIRS=(
"/Library/CACKey"
"/Library/Application Support/CSSi"
"/Library/Application Support/PKard"
"/Library/Preferences/com.thursby.pkard.plist"
# The tokend and bundles are also dirs; even with 'sudo' I cannot remove these
"/System/Library/Security/tokend/BELPIC.tokend"
"/System/Library/Security/tokend/CAC.tokend"
"/System/Library/Security/tokend/CACNG.tokend"
"/System/Library/Security/tokend/CSSI.tokend"
"/System/Library/Security/tokend/OpenSC.tokend"
"/System/Library/Security/tokend/JPKI.tokend"
"/System/Library/Security/tokend/PIV.tokend"
"/System/Library/Security/tokend/PKCS11.tokend"
# OSX 10.11.x - 10.13:
"/Library/Security/tokend/BELPIC.tokend"
"/Library/Security/tokend/CAC.tokend"
"/Library/Security/tokend/CACNG.tokend"
"/Library/Security/tokend/CSSI.tokend"
"/Library/Security/tokend/OpenSC.tokend"
"/Library/Security/tokend/JPKI.tokend"
"/Library/Security/tokend/PIV.tokend"
"/Library/Security/tokend/PKCS11.tokend"
#
"/System/Library/Security/tokend/uiplugins/BELPICViewerPlugin.bundle"
"/System/Library/Security/tokend/uiplugins/CACViewerPlugin.bundle"
"/System/Library/Security/tokend/uiplugins/PIVViewerPlugin.bundle"
# Single file
"/Library/Frameworks/ac.ac4mac.pkcs11.framework/Versions/Current/Libraries/acpkcs220.dylib"
)
for f in "${RM_DIRS[@]}"
do
if [ -d "${f}" ]
then
echo "Deleting dir=${f}"
$RM -rf "${f}"
elif [ -f "${f}" ]
then
echo "Deleting file=${f}"
$RM "${f}"
else
echo "not found: ${f}"
fi
done
UNINSTALL="/usr/local/bin/opensc-uninstall"
if [ -f ${UNINSTALL} ]
then
echo "Run uninstaller=$UNINSTALL"
"${UNINSTALL}"
else
echo "no uninstaller=$UNINSTALL"
fi
for o in "${OPENS[@]}"
do
if [ -e "${o}" ]
then
echo "Use the uninstall option..."
open "${o}"
else
echo "no uninstaller=${o}"
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment