Last active
October 28, 2024 16:48
-
-
Save kaechele/3956c09c2b0f112d48e65b9690a9f87f to your computer and use it in GitHub Desktop.
Mac Launcher for Cisco ASDM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/zsh | |
# Cisco ASDM Launcher for Mac | |
# 2023-01-09 Felix Kaechele <[email protected]> | |
# Note: This method of running ASDM on Mac is not supported by Cisco | |
local asdm_path=~/.asdm | |
# ASDM will only work with Java 8 (aka 1.8.0) | |
local java_version=1.8.0 | |
local java_home=`/usr/libexec/java_home -v $java_version -F` | |
local arg_asa_url flag_help flag_download | |
local usage=( | |
"Usage:" | |
"" | |
"${0} [-h|--help]" | |
"${0} [-d|--download=<ASA URL>]" | |
) | |
zmodload zsh/zutil | |
zparseopts -D -F -K -- \ | |
{h,-help}=flag_help \ | |
{d,-download}:=arg_asa_url || | |
return 1 | |
[[ -z "$flag_help" ]] || { print -l $usage && return } | |
[[ ! -z "$java_home" ]] || { print "Java 8 not found. Install using brew install temurin8" && return 1 } | |
[[ -d "$asdm_path" ]] || { print "ASDM path does not exist at ${asdm_path}. Creating it." && mkdir "${asdm_path}" || return 1 } | |
# Download launcher and supporting JAR files | |
local asdm_files=(dm-launcher.jar jploader.jar lzma.jar retroweaver-rt-2.0.jar) | |
# Check if required files are installed | |
for file in $asdm_files; do | |
if [ ! -f "${asdm_path}/${file}" ]; then | |
flag_download=1 | |
fi | |
done | |
# Download files from the ASA if required or requested | |
if [[ ! -z $flag_download || ! -z $arg_asa_url ]]; then | |
[[ ! -z $arg_asa_url[-1] ]] || { print "Need to update files but ASA URL parameter not provided." && print -l $usage && return 1 } | |
for file in $asdm_files; do | |
curl -SLsk "${arg_asa_url[-1]}/admin/public/${file}" -o "${asdm_path}/${file}" | |
if [[ $? -gt 0 ]]; then | |
print "Failed to download ASDM resources. Exiting." | |
return 1 | |
fi | |
done | |
fi | |
# Install Cisco Code Signing Cert | |
# This file is distributed as cert.PEM in the ASDM installers | |
cat <<EOF > cert.PEM | |
-----BEGIN CERTIFICATE----- | |
MIIHtDCCBhygAwIBAgIQQAGA4wVc5Inhihrxchb2WzANBgkqhkiG9w0BAQsFADBI | |
MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSUwIwYDVQQDExxUcnVz | |
dElEIEVWIENvZGUgU2lnbmluZyBDQSAzMB4XDTIyMDUyMDE5NTAyMVoXDTI0MDUx | |
OTE5NTAyMFowgfAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMREw | |
DwYDVQQHEwhTYW4gSm9zZTERMA8GA1UEBRMIQzQ2ODI0NzgxEzARBgsrBgEEAYI3 | |
PAIBAxMCVVMxGzAZBgsrBgEEAYI3PAIBAhMKQ2FsaWZvcm5pYTEdMBsGA1UEDxMU | |
UHJpdmF0ZSBPcmdhbml6YXRpb24xGzAZBgNVBAoTEkNpc2NvIFN5c3RlbXMgSW5j | |
LjEbMBkGA1UECxMSQ2lzY28gU3lzdGVtcyBJbmMuMRswGQYDVQQDExJDaXNjbyBT | |
eXN0ZW1zIEluYy4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC1z7J6 | |
FZCgl+i6jYEC6PzLK+FjpkcxsFNo+JTYc/XfamQ6Eryy3BLI0tXSlkJSRxfeGQj6 | |
CT1tLLwBhd8ISSfGjofxdxd41x9dPyiV53r6b9jhbZeLBR2L+/PZ+Sxh9jzAyikr | |
Eo0NmbngjUkqV2mMdEgCFXL5cBjUfgQJLEzPAneetZ1ku89YwmHS2YqA4eV3T6Sj | |
utpYxSiKRGGOqxY3C+8FGGsVEbvicxt4elXhgRUxM0MG6ZFCXSX1NsF+4gj92L5v | |
wd4n7d+nw6KOf80CfBC/gc82E5qSpnwmic5sc9ax+29TsRyhqMkp3vkAvOg4W8G9 | |
xZ33RmFIz2UoozKlK7ix6svSkw3wT6ivgF8gVPeLYaeQCsQ4ISSU1UCT63VmroyP | |
HU4Yc8V8682iyG2vDrDzq6O2M7oy2oqCGXRWu6Ly7RrwC4atKkjG9PTBEOx2tKBo | |
M7J94zfScNjcaASpJkkSTlEHoHm3mqsfJROxOsoD7z2To3Z1ejpB4LHcKEYjjD+A | |
GUfJ70SBE8rpkTOp+d+4XrkVROaTMtOKLSYE0doZknZ7rmq8el3rp8zfdo9jbi7c | |
s89Uqu7hSK7KJKIp1CC0Uj3W+1turMvyte2uNlY0BlqUAEnG9NOnYGODeWcDHy8r | |
DLR7+va0rRreWiV5NmqsQHotdkEbEMMhai3GdQIDAQABo4ICbzCCAmswDgYDVR0P | |
AQH/BAQDAgeAMIGOBggrBgEFBQcBAQSBgTB/MDAGCCsGAQUFBzABhiRodHRwOi8v | |
Y29tbWVyY2lhbC5vY3NwLmlkZW50cnVzdC5jb20wSwYIKwYBBQUHMAKGP2h0dHA6 | |
Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5jb20vY2VydHMvdHJ1c3RpZGV2Y29kZXNp | |
Z25pbmczLnA3YzAfBgNVHSMEGDAWgBQhAsPJhfKH8FCm58usSo+aBUwRqjAJBgNV | |
HRMEAjAAMIIBFgYDVR0gBIIBDTCCAQkwBwYFZ4EMAQMwgf0GC2CGSAGG+S8ABg4B | |
MIHtMEAGCCsGAQUFBwIBFjRodHRwczovL3NlY3VyZS5pZGVudHJ1c3QuY29tL2Nl | |
cnRpZmljYXRlcy9wb2xpY3kvdHMvMIGoBggrBgEFBQcCAjCBmwyBmFRoaXMgY2Vy | |
dGlmaWNhdGUgaGFzIGJlZW4gaXNzdWVkIGluIGFjY29yZGFuY2Ugd2l0aCBJZGVu | |
VHJ1c3QncyBUcnVzdElEIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRw | |
czovL3NlY3VyZS5pZGVudHJ1c3QuY29tL2NlcnRpZmljYXRlcy9wb2xpY3kvdHMv | |
ME4GA1UdHwRHMEUwQ6BBoD+GPWh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVzdC5j | |
b20vY3JsL3RydXN0aWRldmNvZGVzaWduaW5nMy5jcmwwHQYDVR0OBBYEFPSi6Jae | |
omAHYUOruV/dL6Kl8eXLMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEB | |
CwUAA4IBgQDgrhklgek9qX6FYfyTN7e91N1jP6pwLV/EnJ4QKMmaFRay6XWoPhGl | |
CWT+5AgEvw8w13koaHl7aqRwBq2XHe62EqJXnkKTNmA/RpNAg50C6nRFB6CwcNV6 | |
frc+ESfCOT4W5o1b/YYmKjH4cS3O0wtcmUqJlSomXzo8bsfBQXiuW5tIWYTAU6+v | |
LpN1mNmj0gAIy8ow9QYLQRu6+V++ChcG7CF76zUN4Gyc9H9v4rI+9d1EOA/N8MnK | |
GyP+rG6A7mSubPRuVMICAyg9+Myxg79G5gi8TLjpq7FmOBQD4MCP4O1Lii5tcbdX | |
pIgLhc8RnfDop1D6I/BTqnn6G8qABTOX1yjth7B+nHDhbKc2yAt2uawSOm1ndyml | |
uLobL/TGz/RbvTPtj0o/R3N0sVaRY8PL3ZzdnZBRsODoNn2lcU/XnSzxmYT/HGSL | |
6rfZwGDWFilXnOVnefltnYpQjA6vWjf56rxtaxS8VSrQwFab+aQKybsm0RvDZURo | |
8J+w4ZOn0qw= | |
-----END CERTIFICATE----- | |
EOF | |
"${java_home}/bin/java" -classpath "${asdm_path}/dm-launcher.jar:${asdm_path}/jploader.jar:${asdm_path}/lzma.jar:${asdm_path}/retroweaver-rt-2.0.jar" com.cisco.launcher.Launcher "${asdm_path}/cert.PEM" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment