Phase 0: Recon
Phase 0: Recon — Current Certificate Inventory
Quick Inventory
All ISE node certs
netapi ise get-nodes --certs
Per-Node, Per-Port Certificate Check
Admin (443)
openssl s_client -connect {ise-pan-fqdn}:443 </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates -serial -fingerprint -sha256
EAP Authentication (1812)
openssl s_client -connect {ise-pan-fqdn}:1812 -starttls radius </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates
Portal (8443)
openssl s_client -connect {ise-pan-fqdn}:8443 </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates
pxGrid (8910)
openssl s_client -connect {ise-pan-fqdn}:8910 </dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates
Days Until Expiry (All Nodes, All Ports)
for host in {ise-pan-fqdn} {ise-psn1-fqdn} {ise-psn2-fqdn}; do
for port in 443 8443 1812 8910; do
expiry=$(openssl s_client -connect "$host:$port" </dev/null 2>/dev/null \
| openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
if [[ -n "$expiry" ]]; then
days=$(( ($(date -d "$expiry" +%s) - $(date +%s)) / 86400 ))
printf "%-45s port:%-5s %s days (%s)\n" "$host" "$port" "$days" "$expiry"
else
printf "%-45s port:%-5s CONNECT FAILED\n" "$host" "$port"
fi
done
done
SAN Verification (Confirm Wildcard Is in SAN, NOT CN)
# Subject CN — should be a specific FQDN like access2.ise.chla.org
openssl s_client -connect {ise-pan-fqdn}:443 </dev/null 2>/dev/null \
| openssl x509 -noout -subject
# SAN — should contain *.ise.chla.org
openssl s_client -connect {ise-pan-fqdn}:443 </dev/null 2>/dev/null \
| openssl x509 -noout -ext subjectAltName
Full Certificate Details
openssl s_client -connect {ise-pan-fqdn}:443 </dev/null 2>/dev/null \
| openssl x509 -noout -text \
| grep -A1 'Subject:\|Issuer:\|Not Before\|Not After\|Subject Alternative\|Key Usage\|Serial'
Chain Validation
openssl s_client -connect {ise-pan-fqdn}:443 -showcerts </dev/null 2>/dev/null \
| awk '/BEGIN/,/END/{if(/BEGIN/)n++; print > "/tmp/ise-chain-cert-"n".pem"}'
for f in /tmp/ise-chain-cert-*.pem; do
echo "=== $f ==="
openssl x509 -in "$f" -noout -subject -issuer -dates
echo
done
Certificate Inventory Table
Fill in after running recon:
| Node | Role | CN | SAN | Expiry | Days Left |
|---|---|---|---|---|---|
pan |
Admin (443) |
||||
pan |
EAP (1812) |
||||
pan |
Portal (8443) |
||||
pan |
pxGrid (8910) |
||||
psn1 |
Admin (443) |
||||
psn1 |
EAP (1812) |