Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    [Completed] Working eap-tls / pfSense 2.2 - $100 USD

    Scheduled Pinned Locked Moved Bounties
    28 Posts 2 Posters 8.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hege
      last edited by

      Unfortunately,

      aaa_identity=%any
      and
      aaa_identity=%any
      eap_identity=%any

      Jan 15 20:06:56 charon: 10[IKE] EAP method EAP_TLS failed for peer CLIENT-IP
      Jan 15 20:06:56 charon: 10[TLS] sending fatal TLS alert 'certificate unknown'
      Jan 15 20:06:56 charon: 10[TLS] no trusted certificate found for 'CERT-CN' to verify TLS peer
      Jan 15 20:06:56 charon: 10[TLS] received TLS peer certificate 'C=XX, ST=XXXXXX, L=XXX, O=XXX, OU=XXX, CN=CERT-CN, E=XXX'

      aaa_identity=%identity

      Jan 15 20:08:27 charon: 07[TLS] sending fatal TLS alert 'handshake failure'
      Jan 15 20:08:27 charon: 07[TLS] no usable TLS server certificate found for '%identity'

      1 Reply Last reply Reply Quote 0
      • E
        eri--
        last edited by

        What algo is the signature on the client cert, SHA1 something else?

        Can you validate this cert with the pki –verify tool of strongswan?

        It is available with pfSense.

        1 Reply Last reply Reply Quote 0
        • H
          hege
          last edited by

          sha512 :)

          pki –verify --in /tmp/VPN-Client.crt --cacert /var/etc/ipsec/ipsec.d/cacerts/1eb57a16.0.crt

          using certificate  'C=XX, ST=XXXXXX, L=XXX, O=XXX, OU=XXX, CN=CERT-CN, E=XXX'
            using trusted ca certificate  'C=XX, ST=XXXXXX, L=XXX, O=XXX, OU=XXX, CN=CA-CERT-CN, E=XXX'
            reached self-signed root ca with a path length of 0
          certificate trusted, lifetimes valid

          I do this tests currently in my private network, at weekend I will create a new test setup with weaker and non sensible certs, so I can give you more information if needed.

          1 Reply Last reply Reply Quote 0
          • E
            eri--
            last edited by

            Oh can you try removing the leftid settings from the profile and see if that fixes it?

            1 Reply Last reply Reply Quote 0
            • H
              hege
              last edited by

              nope,

              Jan 15 22:06:23 charon: 13[TLS] no trusted certificate found for 'CERT-CN' to verify TLS peer

              (with and without eap_identity)

              1 Reply Last reply Reply Quote 0
              • E
                eri--
                last edited by

                What if you do even leftauth=eap-tls or as usual but adding rightsendcert=never?

                Also can you post full ipsec.conf section of the connection?

                EDIT: also can you see based on this https://wiki.strongswan.org/projects/strongswan/wiki/Win7EapMultipleConfig

                1 Reply Last reply Reply Quote 0
                • H
                  hege
                  last edited by

                  Jan 15 22:15:53 charon: 07[IKE] configured EAP-only authentication, but peer does not support it
                  Jan 15 22:15:53 charon: 07[IKE] <con3|43>configured EAP-only authentication, but peer does not support it

                  
                  conn con3
                          reqid = 3
                          fragmentation = yes
                          keyexchange = ikev2
                          reauth = yes
                          forceencaps = no
                          rekey = yes
                          installpolicy = yes
                          type = tunnel
                          dpdaction = none
                          auto = add
                          left = WAN-IP
                          right = %any
                          compress = yes
                          ikelifetime = 28800s
                          lifetime = 3600s
                          rightsourceip = 172.16.94.0/24
                          ike = aes256-sha256-modp1024!
                          esp = aes256-sha1-modp1024,aes256-sha256-modp1024!
                          eap_identity=%identity
                          leftauth=eap-tls
                          rightauth=eap-tls
                          leftcert=/var/etc/ipsec/ipsec.d/certs/cert-3.crt
                          rightsubnet = 172.16.94.0/24
                          leftsubnet = 0.0.0.0/0
                  
                  

                  edit: with usual but rightsendcert=never same as always

                  Jan 15 22:19:11 charon: 13[TLS] sending fatal TLS alert 'certificate unknown'
                  Jan 15 22:19:11 charon: 13[TLS] no trusted certificate found for 'Client-CN' to verify TLS peer</con3|43>

                  1 Reply Last reply Reply Quote 0
                  • E
                    eri--
                    last edited by

                    Can you try with as usual but adding rightsendcert=never?

                    Can you also try a config as per  https://wiki.strongswan.org/projects/strongswan/wiki/Win7EapMultipleConfig

                    1 Reply Last reply Reply Quote 0
                    • H
                      hege
                      last edited by

                      Your link is pointing to a working eap-mschapv2 config (the one I used for my first tests with mschap)

                      I tried it now, and some days ago, with this config and many variations without success
                      https://wiki.strongswan.org/projects/strongswan/wiki/Win7UserMultipleConfig

                      Windows 8
                      Jan 15 22:36:08 charon: 11[JOB] deleting half open IKE_SA after timeout
                      Jan 15 22:36:00 charon: 11[NET] sending packet: from Server-IP[500] to Client-IP[500] (108 bytes)

                      Windows Phone
                      Jan 15 22:19:11    charon: 13[TLS] sending fatal TLS alert 'certificate unknown'
                      Jan 15 22:19:11    charon: 13[TLS] no trusted certificate found for 'Client-CN' to verify TLS peer

                      conn con3
                              reqid = 3
                              fragmentation = yes
                              keyexchange = ikev2
                              reauth = yes
                              forceencaps = no
                              rekey = yes
                              installpolicy = yes
                              type = tunnel
                              dpdaction = none
                              auto = add
                              left = 123.123.123.123
                              right = %any
                              compress = yes
                              ikelifetime = 28800s
                              lifetime = 3600s
                              rightsourceip = 172.16.94.0/24
                              ike = aes256-sha256-modp1024!
                              esp = aes256-sha1-modp1024,aes256-sha256-modp1024!
                              leftauth=pubkey
                              rightauth=eap-tls
                              leftcert=/var/etc/ipsec/ipsec.d/certs/cert-3.crt
                              rightsubnet = 172.16.94.0/24
                              leftsubnet = 0.0.0.0/0
                              rightsendcert=never
                      

                      I really need some sleep, I will continue until tomorrow evening, and I hope that with the windows 8 debug files it should be easier to find the issue. - Windows Phone is hard to debug.

                      1 Reply Last reply Reply Quote 0
                      • H
                        hege
                        last edited by

                        After hours of testing and searching I finally could connect with a workaround, which is unusable for productive use :(

                        My test environment: (I can give you direct access if you like - just pm me)

                        Certs generated by pfSense (root cert / vpn cert / client cert - vpn cert with the DNS name as SAN)

                        
                        pfSense 2.2 RC Config
                        	WAN	84.123.123.122
                        	Lan	192.168.123.1 
                        	EAP-TLS:
                        		My identifier: fw.test.domain.local
                        		My Cert:	fw.test.domain.local (Server Cert / Alt.Name: fw.test.domain.local/ issued by Test-CA)
                        		My CA:		Test-CA
                        	P1:	AES 256 / SHA256 / DH2 / Lifetime 28800 / NAT AUto / DPD 10,5
                        	P2:	Network: 0.0.0.0/0 / ESP / AES256 / SHA1 / PFS OFF / Lifetime 3600
                        Win 8 Config
                        	LAN: 84.123.123.123 (direct WAN Access)
                        	IKEv2 Config:
                        		Hostname: fw.test.domain.local
                        		Type: 	IKEv2
                        		encryption:	Require encryption
                        		Authentication: EAP
                        			Use a certificate on this computer (advanced: issued by Test-CA)
                        			Verify the servers identity
                        			Connect to these servers
                        				fw.test.private.domain
                        			Trusted Root CA:
                        				Test-CA
                        			Use a different user name for the connection
                        
                        

                        Connect:
                        Cert: Test-VPNCLient
                        Connection user name: C=US, ST=Vienna, L=Vienna, O=Test, E=test@domain.local, CN=Test-VPNClient

                        Connection and successful traffic to 192.168.123.1 !

                        Successful connection logs:
                        Edit: removed connection log

                        1 Reply Last reply Reply Quote 0
                        • H
                          hege
                          last edited by

                          Connection without "Use a different user name for the connection" option and with variations of eap_identity (%any / %identity)

                          charon: 16[IKE] EAP method EAP_TLS failed for peer 84.123.123.123
                          ..
                          charon: 16[TLS] no trusted certificate found for 'Test-VPNClient' to verify TLS peer
                          ..
                          charon: 16[TLS] received TLS peer certificate 'C=US, ST=Vienna, L=Vienna, O=Test-Hege, E=test@test.domain, CN=Test-VPNClient'
                          ..
                          charon: 13[IKE] received EAP identity 'Test-VPNClient'

                          Edit: removed the log file

                          1 Reply Last reply Reply Quote 0
                          • E
                            eri--
                            last edited by

                            What do you mean by unusable ?
                            I did not understand why its unusable for production use?

                            1 Reply Last reply Reply Quote 0
                            • H
                              hege
                              last edited by

                              The VPN-user have to paste the full cert value as his username, which is very long and you can't save this value, so you have to insert this "username" every time.

                              eap-tls have to work without any user-input.

                              Also this workaround is not possible on Windows Phone, because you can't specify an username there.

                              Edit: Maybe that is the solution https://lists.strongswan.org/pipermail/users/2010-October/000814.html - I will try that as soon as possible!
                              Edit2: Yep, just a client cert issue, such a waste of free time…

                              Cert requirements,

                              • Full trust of chain (Root CA have to be installed on the client)

                              • pfSense Server cert needs the EKU "Server Authentification", also the FQDN in the Subject Alternative Names

                              • pfSense Client Cert needs the EKU "Client Authentification", also the CN name as a FQDN in the SAN

                              ermal, THANK YOU VERY MUCH!

                              Please let me know, how I can donate my bounty to pfSense.

                              1 Reply Last reply Reply Quote 0
                              • E
                                eri--
                                last edited by

                                I think buying the gold package is the nearest donate approach :)

                                Thank you, hege for confirming it works.

                                1 Reply Last reply Reply Quote 0
                                • H
                                  hege
                                  last edited by

                                  done, bit I still owe you a dollar :)

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.