IKEv2: verify Letsencrypt server certificate
Posted: Thu Sep 26, 2019 5:34 pm
Dear friends,
I'm trying to connect ROS 6.45.6 using IKEv2 to Strongswan in this way:
/ip ipsec profile set [ find default=yes ] dh-group=modp2048 enc-algorithm=aes-256 hash-algorithm=sha256
/ip ipsec profile add dh-group=modp2048 enc-algorithm=aes-256 hash-algorithm=sha256 name=qlt-profile
/ip ipsec peer add address=f.q.d.n exchange-mode=ike2 name=qlt-peer profile=qlt-profile
/ip ipsec proposal set [ find default=yes ] auth-algorithms=sha256 enc-algorithms=aes-256-gcm pfs-group=modp2048
/ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-gcm name=qlt-proposal pfs-group=modp2048
/ip ipsec identity add auth-method=eap certificate="" eap-methods=eap-mschapv2 generate-policy=port-strict mode-config=request-only password=q1w2e3 peer=qlt-peer remote-certificate=lets-encrypt-x3-cross-signed.pem.txt_0 remote-id=fqdn:f.q.d.n username=doka
/ip ipsec policy add dst-address=0.0.0.0/0 proposal=qlt-proposal src-address=0.0.0.0/0 template=yes
remote side is Strongswan armed by Letsencrypt certificate and in order to verify it I install on RouterOS the intermediate certificate "Let’s Encrypt Authority X3 (IdenTrust cross-signed)" from https://letsencrypt.org/certificates/ :
/tool fetch url="https://letsencrypt.org/certs/lets-encr ... ed.pem.txt"
/certificate import file-name=lets-encrypt-x3-cross-signed.pem.txt
/certificate print detail
This way works for Cisco, but on Mikrotik I see the following error message in log: "digital signature verification failed" (topics ipsec,error):
17:31:17 ipsec,info new ike2 SA (I): 10.10.10.25[4500]-x.x.x.x[4500] spi:4473213cc92de223:99bb6db6a8cd089d
17:31:17 ipsec,error digital signature verification failed
17:31:17 ipsec,info,account peer failed to authorize: 10.10.10.25[4500]-x.x.x.x[4500] spi:4473213cc92de223:99bb6db6a8cd089d
17:31:17 ipsec,info killing ike2 SA: 10.10.10.25[4500]-x.x.x.x[4500] spi:4473213cc92de223:99bb6db6a8cd089d
What I'm missing in this configuration and how to make RouterOS able to verify Letsencrypt certificate?
Thank you.
I'm trying to connect ROS 6.45.6 using IKEv2 to Strongswan in this way:
/ip ipsec profile set [ find default=yes ] dh-group=modp2048 enc-algorithm=aes-256 hash-algorithm=sha256
/ip ipsec profile add dh-group=modp2048 enc-algorithm=aes-256 hash-algorithm=sha256 name=qlt-profile
/ip ipsec peer add address=f.q.d.n exchange-mode=ike2 name=qlt-peer profile=qlt-profile
/ip ipsec proposal set [ find default=yes ] auth-algorithms=sha256 enc-algorithms=aes-256-gcm pfs-group=modp2048
/ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-gcm name=qlt-proposal pfs-group=modp2048
/ip ipsec identity add auth-method=eap certificate="" eap-methods=eap-mschapv2 generate-policy=port-strict mode-config=request-only password=q1w2e3 peer=qlt-peer remote-certificate=lets-encrypt-x3-cross-signed.pem.txt_0 remote-id=fqdn:f.q.d.n username=doka
/ip ipsec policy add dst-address=0.0.0.0/0 proposal=qlt-proposal src-address=0.0.0.0/0 template=yes
remote side is Strongswan armed by Letsencrypt certificate and in order to verify it I install on RouterOS the intermediate certificate "Let’s Encrypt Authority X3 (IdenTrust cross-signed)" from https://letsencrypt.org/certificates/ :
/tool fetch url="https://letsencrypt.org/certs/lets-encr ... ed.pem.txt"
/certificate import file-name=lets-encrypt-x3-cross-signed.pem.txt
/certificate print detail
Flags: K - private-key, L - crl, C - smart-card-key, A - authority, I - issued, R - revoked, E - expired, T - trusted
0 L T name="lets-encrypt-x3-cross-signed.pem.txt_0" issuer=O=Digital Signature Trust Co.,CN=DST Root CA X3 digest-algorithm=sha256 key-type=rsa country="US" organization="Let's Encrypt" common-name="Let's Encrypt Authority X3" key-size=2048 subject-alt-name="" days-valid=1826 trusted=yes key-usage=digital-signature,key-cert-sign,crl-sign
serial-number="0A0141420000015385736A0B85ECA708" fingerprint="25847d668eb4f04fdd40b12b6b0740c567da7d024308eb6c2c96fe41d9de218d" invalid-before=mar/17/2016 19:40:46 invalid-after=mar/17/2021 19:40:46 expires-after=76w6d2h11m7s
This way works for Cisco, but on Mikrotik I see the following error message in log: "digital signature verification failed" (topics ipsec,error):
17:31:17 ipsec,info new ike2 SA (I): 10.10.10.25[4500]-x.x.x.x[4500] spi:4473213cc92de223:99bb6db6a8cd089d
17:31:17 ipsec,error digital signature verification failed
17:31:17 ipsec,info,account peer failed to authorize: 10.10.10.25[4500]-x.x.x.x[4500] spi:4473213cc92de223:99bb6db6a8cd089d
17:31:17 ipsec,info killing ike2 SA: 10.10.10.25[4500]-x.x.x.x[4500] spi:4473213cc92de223:99bb6db6a8cd089d
What I'm missing in this configuration and how to make RouterOS able to verify Letsencrypt certificate?
Thank you.