<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div><br></div>
<div>On Mon, Jan 28, 2019, at 11:04 PM, Mr. Jan Walter wrote:<br></div>
<blockquote type="cite"><div style="font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:13px;"><div><br></div>
<div>Paul & list:<br></div>
<div><br></div>
<div>Okay, so last try on this, it's pretty frustrating. I made the changes in the ipsec.conf file per your suggestions, and of course, it gets farther.<br></div>
<div><br></div>
<div><br></div>
<div>OSX Log Facility Output:<br></div>
<div><div><span></span><br></div>
<div>[ ... ]<br></div>
<div><span>2019-01-28 14:51:16.609829-0500 0x168210   Default     0x0                  66177  0    neagent: (Security) [com.apple.securityd:SecError] Trust evaluate failure: [leaf SSLHostname]</span><br></div>
<div><span>2019-01-28 14:51:16.609832-0500 0x168210   Error       0x0                  66177  0    neagent: (NetworkExtension) [com.apple.networkextension:] Certificate evaluation error = kSecTrustResultRecoverableTrustFailure</span><br></div>
<div><span>2019-01-28 14:51:16.609840-0500 0x168210   Error       0x0                  66177  0    neagent: (NetworkExtension) [com.apple.networkextension:] Certificate is not trusted</span><br></div>
<div><span>2019-01-28 14:51:16.609844-0500 0x168210   Error       0x0                  66177  0    neagent: (NetworkExtension) [com.apple.networkextension:] Certificate authentication data could not be verified</span><br></div>
<div><span>2019-01-28 14:51:16.609847-0500 0x168210   Error       0x0                  66177  0    neagent: (NetworkExtension) [com.apple.networkextension:] Failed to process IKE Auth packet (connect)</span><br></div>
<div><span></span><br></div>
<div><span>Ipsec barf output:</span><br></div>
<div><span></span><br></div>
<div><span>[ ... ]</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: STATE_PARENT_R1: received v2I1, sent v2R1 {auth=IKEv2 cipher=AES_CBC_256 integ=HMAC_SHA2_256_128 prf=HMAC_SHA2_256 group=MODP2048}</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: certificate verified OK: O=Client1,CN=client1.zzz.net</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: No matching subjectAltName found</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: No matching subjectAltName found</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: IKEv2 mode peer ID is ID_FQDN: '@client1.zzz.net'</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: Authenticated using RSA</span><br></div>
<div><span>Jan 28 19:51:16 ip-10-0-0-194 pluto[2898]: "ikev2-cp"[1] 11.11.11.11 #15: proposal 1:ESP:SPI=08fdfa42;ENCR=AES_CBC_256;INTEG=HMAC_SHA2_256_128;ESN=DISABLED chosen from remote proposals 1:ESP:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_256_128;ESN=DISABLED[first-match] 2:ESP:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_256_128;ESN=DISABLED 3:ESP:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_256_128;ESN=DISABLED 4:ESP:ENCR=AES_CBC_128;INTEG=HMAC_SHA1_96;ESN=DISABLED 5:ESP:ENCR=3DES;INTEG=HMAC_SHA1_96;ESN=DISABLED</span><br></div>
<div><span>[...]</span><br></div>
</div>
</div>
</blockquote><div><br></div>
<div>Looks like you've got certificate validation errors on both sides, and libeswan proceeds anyway but OS X doesn't (and so overall it fails).<br></div>
<div><br></div>
<div>Libreswan error messages are more specific too - looks like (?) it's expecting to find client1.zzz.net in the client cert's subjectAltName but your certificate has none.<br></div>
<div><br></div>
<div>On the OS X side<br></div>
<div><br></div>
<div> - I don't use this OS but recently had a lot of trouble getting a Mikrotik client to connect using certificate auth. Got it to work eventually, this forum post has the details:<br></div>
<div><br></div>
<div><a href="https://forum.mikrotik.com/viewtopic.php?f=2&t=31563&p=711471#p711471">https://forum.mikrotik.com/viewtopic.php?f=2&t=31563&p=711471#p711471</a><br></div>
<div><br></div>
<div>- In libreswan config you have <span><span>leftid=@zzz.net - but its leftcert has vv.</span>zzz.net<span> (and IP's) in its subjectAltName and does not have zz.net which is the id. Not sure if this matters but it is an obvious mismatch.</span></span><br></div>
<div><br></div>
<div>Something I'd try personally is to use PSK auth as a test - just to rule out any other causes (other than certificate errors) and if that works try to put back certificate auth.</div>
<div><br></div>
<div>-- K</div>
<div><br></div>
<blockquote type="cite"><div style="font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:13px;"><div><div><span> </span><br></div>
<div><span>Commands to make ca, server, client cert. server cert exported and imported to ipsec. CA, server, client certificates and keys exported using pk12util, and imported into OSX keystore. Tried "login" keystore and "system" keystore, CA cert marked "trust always", and each subsequent attempt marked server, and then client cert as "trust always".</span><br></div>
<div><span></span><br></div>
<div><span>The error message on the OSX Mojave side is the same, so there is something missing in the trust chain I don't see.</span><br></div>
<div><span></span><br></div>
<div><span>certutil -S -x -n "ca.zzz.net" -s "O=zzzz team CA,CN=ca.zzz.net" -k rsa -g 4096 -v 12 -d sql:${HOME}/ca -t "CT,," -2</span><br></div>
<div><span>certutil -S -c "ca.zzz.net" -n "vv.zzz.net" -s "O=VV Server Cert,CN=vv.zzz.net" -k rsa -v 12 -d sql:${HOME}/ca -t ",," -1 -6 --extSAN 'dns:vv.zzz.net,ip:22.22.22.22,ip:10.0.0.194'</span><br></div>
<div><span>certutil -S -c "ca.zzz.net" -n "client1.zzz.net" -s "O=Client1,CN=client1.zzz.net" -k rsa -v 12 -d sql:${HOME}/ca -t ",," -1 -6 -8 "client1.zzz.net"</span><br></div>
<div><span></span><br></div>
<div><span>ipsec.conf:</span><br></div>
<div><span></span><br></div>
<div><div><span><span></span></span><br></div>
<div><span><span>onn ikev2-cp</span></span><br></div>
<div><span><span>    authby=rsasig</span></span><br></div>
<div><span><span>    ikev2=insist</span></span><br></div>
<div><span><span>    cisco-unity=yes</span></span><br></div>
<div><span><span>    # The server's actual IP goes here - not elastic IPs</span></span><br></div>
<div><span><span>    left=10.0.0.194</span></span><br></div>
<div><span><span>    leftsourceip=22.22.22.22</span></span><br></div>
<div><span><span>    leftcert=vv.zzz.net</span></span><br></div>
<div><span><span>    leftid=@zzz.net</span></span><br></div>
<div><span><span>    leftsendcert=always</span></span><br></div>
<div><span><span>    #leftsubnet=0.0.0.0/0</span></span><br></div>
<div><span><span>    leftrsasigkey=%cert</span></span><br></div>
<div><span><span>    # try to structure something to accept this offer: IKE:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_384_192;PRF=HMAC_SHA2_384;DH=MODP1024</span></span><br></div>
<div><span><span>    ike=aes256-sha2_512;modp2048,aes128-sha2_512;modp2048,aes256-sha1;modp2048,aes128-sha1;modp2048,aes-sha2;modp2048,aes256-sha1;modp1024,aes128-sha1;modp1024,aes-sha2;modp1024</span></span><br></div>
<div><span><span>    #esp=aes_gcm256-null,aes_gcm128-null,aes256-sha2_512,aes128-sha2_512</span></span><br></div>
<div><span><span>    # Clients</span></span><br></div>
<div><span><span>    right=%any</span></span><br></div>
<div><span><span>    # your addresspool to use - you might need NAT rules if providing full internet to clients</span></span><br></div>
<div><span><span>    rightaddresspool=10.0.0.240-10.0.0.250</span></span><br></div>
<div><span><span>    # optional rightid with restrictions</span></span><br></div>
<div><span><span>    # rightid="C=CA, L=Toronto, O=Libreswan Project, OU=*, CN=*, E=*"</span></span><br></div>
<div><span><span>    rightca=%same</span></span><br></div>
<div><span><span>    rightrsasigkey=%cert</span></span><br></div>
<div><span><span>    rightid=%fromcert</span></span><br></div>
<div><span><span>    #</span></span><br></div>
<div><span><span>    # connection configuration</span></span><br></div>
<div><span><span>    # DNS servers for clients to use</span></span><br></div>
<div><span><span>    #modecfgdns=8.8.8.8,193.100.157.123</span></span><br></div>
<div><span><span>    # Versions up to 3.22 used modecfgdns1 and modecfgdns2</span></span><br></div>
<div><span><span>    #modecfgdns1=8.8.8.8</span></span><br></div>
<div><span><span>    #modecfgdns2=193.110.157.123</span></span><br></div>
<div><span><span>    narrowing=yes</span></span><br></div>
<div><span><span>    # recommended dpd/liveness to cleanup vanished clients</span></span><br></div>
<div><span><span>    dpddelay=30</span></span><br></div>
<div><span><span>    dpdtimeout=120</span></span><br></div>
<div><span><span>    dpdaction=clear</span></span><br></div>
<div><span><span>    auto=add</span></span><br></div>
<div><span><span>    rekey=no</span></span><br></div>
<div><span><span>    #ms-dh-fallback=yes</span></span><br></div>
<div><span><span>    #msdh-downgrade=yes</span></span><br></div>
<div><span><span>    ms-dh-downgrade=yes</span></span><br></div>
<div><span><span>    leftxauthserver=yes</span></span><br></div>
<div><span><span>    rightxauthclient=yes</span></span><br></div>
<div><span><span>    leftmodecfgserver=yes</span></span><br></div>
<div><span><span>    rightmodecfgclient=yes</span></span><br></div>
<div><span><span>    # ikev2 fragmentation support requires libreswan 3.14 or newer</span></span><br></div>
<div><span><span>    fragmentation=yes</span></span><br></div>
<div><span><span>    # optional PAM username verification (eg to implement bandwidth quota</span></span><br></div>
<div><span><span>    # pam-authorize=yes</span></span><br></div>
<div><span><span></span></span><br></div>
</div>
<div><span></span><br></div>
<div><span></span><br></div>
<div><span></span><br></div>
</div>
</div>
<div><div style="font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:13px;color:rgb(38, 40, 42);"><div><div dir="ltr"><div>Cheers,<br></div>
<div><br></div>
<div>Jan<br></div>
</div>
</div>
</div>
</div>
<div><u>_______________________________________________</u><br></div>
<div>Swan mailing list<br></div>
<div><a href="mailto:Swan@lists.libreswan.org">Swan@lists.libreswan.org</a><br></div>
<div><a href="https://lists.libreswan.org/mailman/listinfo/swan">https://lists.libreswan.org/mailman/listinfo/swan</a><br></div>
</blockquote><div><br></div>
</body>
</html>