mac.sh 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. [[ $# -ge 1 ]] || exit 1
  3. CERT_URL="${1:-}"
  4. CERT_PWD="${2:-}"
  5. # DO NOT EDIT
  6. [[ -n "${CERT_URL}" ]] || exit 1
  7. [[ -n "${CERT_PWD}" ]] && Mode=0 || Mode=1
  8. USER_Home=`echo "$HOME"`
  9. [[ "$(sudo whoami)" == "root" ]] || exit 1
  10. [[ -e "${USER_Home}/.cisco" ]] && rm -rf "${USER_Home}/.cisco"
  11. [[ -e "${USER_Home}/.anyconnect" ]] && rm -rf "${USER_Home}/.anyconnect"
  12. cat >"${USER_Home}/.anyconnect"<<EOF
  13. <?xml version="1.0" encoding="UTF-8"?>
  14. <AnyConnectPreferences>
  15. <DefaultUser></DefaultUser>
  16. <DefaultSecondUser></DefaultSecondUser>
  17. <ClientCertificateThumbprint></ClientCertificateThumbprint>
  18. <MultipleClientCertificateThumbprints></MultipleClientCertificateThumbprints>
  19. <ServerCertificateThumbprint></ServerCertificateThumbprint>
  20. <DefaultHostName></DefaultHostName>
  21. <DefaultHostAddress></DefaultHostAddress>
  22. <DefaultGroup>Default</DefaultGroup>
  23. <ProxyHost></ProxyHost>
  24. <ProxyPort></ProxyPort>
  25. <SDITokenType>none</SDITokenType>
  26. <ControllablePreferences>
  27. <AutoConnectOnStart>true</AutoConnectOnStart>
  28. <LocalLanAccess>true</LocalLanAccess>
  29. <BlockUntrustedServers>false</BlockUntrustedServers>
  30. <DisableCaptivePortalDetection>true</DisableCaptivePortalDetection></ControllablePreferences>
  31. </AnyConnectPreferences>
  32. EOF
  33. chomd 777 "${USER_Home}/.anyconnect"
  34. [[ -f "${CERT_URL}" ]] && cp -f "${CERT_URL}" "/tmp/MacOS.p12" || curl -ksSL -H "User-Agent: wget/1.0" -o "/tmp/MacOS.p12" "${CERT_URL}"
  35. if [[ -f "/tmp/MacOS.p12" ]]; then
  36. if [[ "$Mode" == "0" ]]; then
  37. security import "/tmp/MacOS.p12" -P "${CERT_PWD}"
  38. rm -rf "/tmp/MacOS.p12"
  39. elif [[ "$Mode" == "1" ]]; then
  40. openssl pkcs12 -in "/tmp/MacOS.p12" -nodes -nokeys -clcerts -out "/tmp/MacOS_Cert.pem" -password pass:
  41. openssl pkcs12 -in "/tmp/MacOS.p12" -nodes -nocerts -out "/tmp/MacOS_Key.pem" -password pass:
  42. openssl pkcs12 -in "/tmp/MacOS.p12" -nodes -nokeys -cacerts -out "/tmp/MacOS_CA.pem" -password pass:
  43. openssl pkcs12 -export -inkey "/tmp/MacOS_Key.pem" -in "/tmp/MacOS_Cert.pem" -certfile "/tmp/MacOS_CA.pem" -out "/tmp/MacOS_New.p12" -passout pass:New
  44. security import "/tmp/MacOS_New.p12" -P "New"
  45. else
  46. exit 1
  47. fi
  48. fi