How-To 89 CA-signed PxGridISEnode CAsigned PxGridclient
How-To 89 CA-signed PxGridISEnode CAsigned PxGridclient
How-To 89 CA-signed PxGridISEnode CAsigned PxGridclient
Table of Contents
About this Document ...................................................................................................................................................... 3
Introduction ..................................................................................................................................................................... 4
Example Certificate Configuration .............................................................................................................. 5
CA-signed ISE pxGrid node certificate and pxGrid persona Configuration ................................................ 5
pxGrid Client Certificate Configuration ....................................................................................................... 7
Testing pxGrid client and the ISE pxGrid node ........................................................................................ 12
Viewing Keystore Entries ......................................................................................................................... 13
Troubleshooting ....................................................................................................................................... 20
Page 2
Using Self-Signed Certificates with ISE pxGrid node and pxGrid client
Using Certificate Authority (CA)-Signed pxGrid client and self-signed ISE pxGrid node certificate
Page 3
Introduction
This section details the Certificate Authority (CA) signed certificate configuration for a pxGrid client and an ISE
pxGrid node in an ISE Stand-alone deployment. The ISE pxGrid node and pxGrid client will obtain a signed
certificate from the Microsoft Enterprise CA 2008 R2 Authority. Please note that a customized pxGrid template
having an Enhanced Key Usage (EKU) ISO- defined object identifier (OID) for both client authentication
(1.3.6.5.5.7.3.2) and server authentication (1.3.6.1.5.5.7.3.1) must be created. The ISE pxGrid node will download the
CA root certificate to its trusted certificate store and the pxGrid client will download the root certificate the trusted
keystore.
When the pxGrid client connects to the ISE pxGrid node both public certificates will be trusted for Simple
Authentication and Security Layer (SASL) for a successful pxGrid connection.
The following diagram represents the certificate flow of information.
Page 4
Download and upload the CA root certificate into the ISE Trusted Certificate Store and enable trust for
ISE communication
Step 2
Generate an ISE CSR request to the CA Authority for pxGrid usage. A pxGrid template needs to be
configured for EKUs of both client authentication and server authentication to service the user certificate
request.
Administration->System->Certificates->Certificate Signing Requests->Generate CSR with ISE
FQDN and set for pxGrid Usage
Page 5
Step 3
Step 4
Step 5
Page 6
Note: There may be a delay before the ISE publishing nodes appear. The certificates must be installed before the pxGrid persona is enabled.
Step 2
Generate a CSR request (i.e. pxGridClient.csr) to the CA Authority. Provide a challenge password (i.e.
cisco123)
Page 7
Note: Keep the same password throughout this documnent, easier to maintain, and cut down on errors
Step 3
The CA authority must service the user certificate using a pxGrid template with both EKUs for client
authentication and server authentication.
Note: A CA template of Windows 2003 was selected, so it would appear in the Drop-down. A user template was duplicated wit both EKUs for client
and server authentication.
Step 4
Create a pxGrid client .pkcs12 file (pxGridClient.p12) from the private key in the pxGridClient certificate
(i.e. pxGridClient.cer). This will be used for keystore management and can be a random filename with a
.p12 extension. Include the CA root file (i.e. ca_root).
openssl pkcs12 -export -out pxGridClient.p12 -inkey pxGridClient.key -in pxGridClient.cer -chain -CAfile
ca_root.cer
Enter Export Password: cisco123
Verifying - Enter Export Password: cisco123
Step 5
Create the pxGrid client identity keystore (i.e.pxGridClient.jks). This will be the pxGrid client identity
keystore. This can be a random filename with a .jks extension. This will serve as the keystoreFilename and
associated keystorePassword in the pxGrid script examples.
cisco123
Page 8
Step 6
Export only the public ISE Identity certificate into the pxGrid client, note that this will be in .pem format.
You can rename the file with .pem extension to make it easier to read. In this example, the file was
renamed to isemnt.pem.
Step 7
Step 8
Add the ISE identity cert to the trust keystore (i.e. root3.jks). this will be the trusted keystore. This can be a
random filename with a .jks extension. This will become the truststoreFilename and truststorePassword
used in the pxGrid scripts.
050...*.H.......
..0...*.H.......
..0...+....0...*
.H.....
020...+.......0.
..+.......0...+.
......0...+.....
7...
Page 9
Criticality=false
82 37 15 08 DC FD 1A
E6 FC 53 86 82 A1 38
02 01 64 02 01 03
0-.%+.....7.....
...y...-...S...8
^...#[email protected]...
...&..7..Z.6&...
j.y,
.9..^kK.2U...`..
....
Step 9
Page 10
Note: If you receive the following message the certficate was already added to a pre-existing keystore, you
can say no and still be okay. I selected yes so we can verify thay the certificate was added later on.
Step 10
Add the CA root certificate to trusted keystore. The CA root certificate needs to be trusted as well.
...
...&..7..Z.6&...
j.y,
Step 11
Copy the identity keystore (pxGridClient.jks) and trust keystore (root3.jks) into the ../samples/bin/..folder.
Page 11
./register.sh -keystoreFilename pxGridClient.jks -keystoreFilename cisco123 -truststoreFilename root3.jks truststorePassword cisco123 -group Session -description test -username MacBook-Pro -hostname 10.0.0.96
------- properties ------version=1.0.0
hostnames=10.0.0.96
username=MacBook-Pro
descriptipon=test
keystoreFilename=pxGridClient.jks
keystorePassword=cisco123
truststoreFilename=root3.jks
truststorePassword=cisco123
-------------------------registering...
connecting...
account enabled
connected.
done registering.
connection closed
Note: Account enabled means the account was enabled by the pxGrid admin
Step 2
Page 12
start=null
end=null
-------------------------connecting...
connected.
starting at Wed Dec 10 18:44:49 EST 2014...
session (ip=10.0.0.18, Audit Session Id=0A0000020000000B006E1086, User Name=jeppich, AD User DNS
Domain=lab6.com, AD Host DNS Domain=null, AD User NetBIOS Name=LAB6, AD Host NETBIOS Name=null, Calling
station id=00:0C:29:D1:8D:90, Session state= STARTED, Epsstatus=null, Security Group=null, Endpoint
Profile=VMWare-Device, NAS IP=10.0.0.2, NAS Port=GigabitEthernet1/0/15, RADIUSAVPairs=[ Acct-SessionId=00000002], Posture Status=null, Posture Timestamp=, Session Last Update Time=Wed Dec 10 16:41:48 EST 2014
)... ending at: Wed Dec 10 18:44:49 EST 2014
--------------------------------------------------downloaded 1 sessions in 26 milliseconds
--------------------------------------------------connection closed
...
Page 13
DigitalSignature
Key_CertSign
Crl_Sign
]
#4: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: A9 C7 8E 26 9C F5 37 0A
E6 5A 15 36 26 D4 A2 06
0010: 6A C8 79 2C
]
]
...&..7..Z.6&...
j.y,
*******************************************
*******************************************
Alias name: isemnt1
Creation date: Dec 10, 2014
Entry type: trustedCertEntry
Owner: CN=ise.lab6.com
Issuer: CN=lab6-WIN-BG7GPQ053ID-CA, DC=lab6, DC=com
Serial number: 61262d7600000000000d
Valid from: Wed Dec 10 16:39:24 EST 2014 until: Sat Dec 10 16:49:24 EST 2016
Certificate fingerprints:
MD5: 2B:3D:24:04:D3:FF:1F:1E:7E:57:8E:44:4A:AF:6D:51
SHA1: BD:18:C0:DD:4D:DD:43:80:CA:CA:3B:F6:DC:1E:6E:46:93:59:FE:B7
SHA256:
F9:11:FC:EC:BC:0F:0F:84:36:F1:26:BC:5A:09:B7:2B:3C:D1:1B:AC:FC:1A:F1:AB:6D:00:8D:11:F8:26:93:FF
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 1.2.840.113549.1.9.15 Criticality=false
0000: 30 35 30 0E 06 08 2A 86
48 86 F7 0D 03 02 02 02
0010: 00 80 30 0E 06 08 2A 86
48 86 F7 0D 03 04 02 02
0020: 00 80 30 07 06 05 2B 0E
03 02 07 30 0A 06 08 2A
0030: 86 48 86 F7 0D 03 07
050...*.H.......
..0...*.H.......
..0...+....0...*
.H.....
020...+.......0.
..+.......0...+.
......0...+.....
7...
0-.%+.....7.....
...y...-...S...8
^...#[email protected]...
Criticality=false
82 37 15 08 DC FD 1A
E6 FC 53 86 82 A1 38
02 01 64 02 01 03
...&..7..Z.6&...
Page 14
0010: 6A C8 79 2C
]
]
j.y,
.9..^kK.2U...`..
....
*******************************************
*******************************************
Alias name: isemnt
Creation date: Dec 10, 2014
Entry type: trustedCertEntry
Owner: CN=ise.lab6.com
Issuer: CN=lab6-WIN-BG7GPQ053ID-CA, DC=lab6, DC=com
Serial number: 61262d7600000000000d
Valid from: Wed Dec 10 16:39:24 EST 2014 until: Sat Dec 10 16:49:24 EST 2016
Certificate fingerprints:
MD5: 2B:3D:24:04:D3:FF:1F:1E:7E:57:8E:44:4A:AF:6D:51
SHA1: BD:18:C0:DD:4D:DD:43:80:CA:CA:3B:F6:DC:1E:6E:46:93:59:FE:B7
SHA256:
F9:11:FC:EC:BC:0F:0F:84:36:F1:26:BC:5A:09:B7:2B:3C:D1:1B:AC:FC:1A:F1:AB:6D:00:8D:11:F8:26:93:FF
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 1.2.840.113549.1.9.15 Criticality=false
0000: 30 35 30 0E 06 08 2A 86
48 86 F7 0D 03 02 02 02
0010: 00 80 30 0E 06 08 2A 86
48 86 F7 0D 03 04 02 02
0020: 00 80 30 07 06 05 2B 0E
03 02 07 30 0A 06 08 2A
0030: 86 48 86 F7 0D 03 07
050...*.H.......
..0...*.H.......
..0...+....0...*
.H.....
Page 15
020...+.......0.
..+.......0...+.
......0...+.....
7...
0-.%+.....7.....
...y...-...S...8
^...#[email protected]...
Criticality=false
82 37 15 08 DC FD 1A
E6 FC 53 86 82 A1 38
02 01 64 02 01 03
...&..7..Z.6&...
j.y,
.9..^kK.2U...`..
....
*******************************************
*******************************************
Cisco Systems 2015
Page 16
Johns-MacBook-Pro:bin jeppich$
Step 2
050...*.H.......
..0...*.H.......
..0...+....0...*
.H.....
020...+.......0.
..+.......0...+.
......0...+.....
7...
0-.%+.....7.....
...y...-...S...8
^...#[email protected]...
Criticality=false
82 37 15 08 DC FD 1A
E6 FC 53 86 82 A1 38
02 01 64 02 01 03
...&..7..Z.6&...
Page 17
0010: 6A C8 79 2C
]
]
j.y,
....g%.)..V.Qx..
x...
*******************************************
*******************************************
Alias name: 1
Creation date: Dec 10, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 2
Certificate[1]:
Owner: O=Internet Widgits Pty Ltd, ST=Some-State, C=AU
Issuer: CN=lab6-WIN-BG7GPQ053ID-CA, DC=lab6, DC=com
Serial number: 6101649b00000000000e
Valid from: Wed Dec 10 17:01:25 EST 2014 until: Sat Dec 10 17:11:25 EST 2016
Certificate fingerprints:
MD5: 0F:3C:57:64:7E:BD:D9:0A:7B:C2:25:64:84:F2:E3:FA
SHA1: 65:9C:A8:8D:52:B0:CF:C6:1B:46:7E:41:80:D3:7B:96:40:B1:E3:68
SHA256:
3D:8A:72:6B:9D:7F:12:5A:AF:A7:CC:A6:E2:F7:E9:9A:F9:D8:BE:89:55:12:87:30:F8:17:3B:91:29:EB:6A:8E
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 1.2.840.113549.1.9.15 Criticality=false
0000: 30 35 30 0E 06 08 2A 86
48 86 F7 0D 03 02 02 02
0010: 00 80 30 0E 06 08 2A 86
48 86 F7 0D 03 04 02 02
0020: 00 80 30 07 06 05 2B 0E
03 02 07 30 0A 06 08 2A
0030: 86 48 86 F7 0D 03 07
Cisco Systems 2015
050...*.H.......
..0...*.H.......
..0...+....0...*
.H.....
Page 18
020...+.......0.
..+.......0...+.
......0...+.....
7...
0-.%+.....7.....
...y...-...S...8
^...#[email protected]...
Criticality=false
82 37 15 08 DC FD 1A
E6 FC 53 86 82 A1 38
02 01 64 02 01 03
...&..7..Z.6&...
j.y,
....g%.)..V.Qx..
x...
Certificate[2]:
Owner: CN=lab6-WIN-BG7GPQ053ID-CA, DC=lab6, DC=com
Cisco Systems 2015
Page 19
...
...&..7..Z.6&...
j.y,
*******************************************
*******************************************
Troubleshooting
This section describes some troubleshooting tips:
Page 20
Avoid pxGrid scripting error messages by verifying that the pxGrid client hostname and ISE pxGrid node are
resolvable via DNS.
If there changes to the truststore, and receive similar error messages stop and restart ISE application from the
ISE VM.
./register.sh -keystoreFilename pxGridClient.jks -keysrePassword cisco123 -truststoreFilename root3.jks truststorePassword cisco123 -username pxGridclient -hostname 10.0.0.96 -group Session -description test1
------- properties ------version=1.0.0
hostnames=10.0.0.96
username=pxGridclient
descriptipon=test1
keystoreFilename=pxGridClient.jks
keystorePassword=cisco123
truststoreFilename=root3.jks
truststorePassword=cisco123
-------------------------registering...
connecting...
javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1991)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1104)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:806)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:267)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
Exception in thread "main" com.cisco.pxgrid.GCLException: SASL authentication failed:
at com.cisco.pxgrid.GridConnection.connect(GridConnection.java:197)
at com.cisco.pxgrid.samples.ise.Register.main(Register.java:99)
Caused by: SASL authentication failed:
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:281)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:206)
at com.cisco.pxgrid.Configuration.connect(Configuration.java:194)
at com.cisco.pxgrid.GridConnection.connect(GridConnection.java:134)
... 1 more
Step 3
If you see a similar error message, the root cert needs to be added to the truststoreFilename keystore, in this
case root3.jks.
./register.sh -keystoreFilename pxGridClient.jks -keystorePassword cisco123 -truststoreFilename root3.jks truststorePassword cisco123 -group Session -description MACBOOK -username Macbook_PRO -hostname 10.0.0.96
------- properties ------version=1.0.0
hostnames=10.0.0.96
username=Macbook_PRO
descriptipon=MACBOOK
keystoreFilename=pxGridClient.jks
keystorePassword=cisco123
Page 21
truststoreFilename=root3.jks
truststorePassword=cisco123
-------------------------registering...
connecting...
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: root certificate not trusted of
[ise.lab6.com]
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1917)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:301)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:295)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1471)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:212)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:936)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:871)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1043)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1371)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
at org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:806)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:267)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
Caused by: java.security.cert.CertificateException: root certificate not trusted of [ise.lab6.com]
at org.jivesoftware.smack.ServerTrustManager.checkServerTrusted(ServerTrustManager.java:144)
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:865)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1453)
... 11 more
Page 22