[strongSwan] "no RSA public key known" but ID is correct / even with "rightcert"
Andreas Steffen
andreas.steffen at strongswan.org
Sun Dec 19 12:33:14 CET 2010
Hello Martin,
Android sends the certificate payload together with the identity
payload in the same IKE packet.
No, strongSwan requires the peer identity to by verified by a
corresponding entry in the certificate. Certainly the Android
VPN client can be configured to use the Subject Distinguished
Name contained in the certificate as its identity.
Regards
Andreas
On 12/19/2010 11:48 AM, Develop wrote:
> Hello Andreas,
>
> thanks a lot for your answer.
>
> I wonder a little bit because the correct cert was seen in the log just
> before the error. Is it correct that the Android sends first the
> certificate it has and then the ID with the IPv4 address? Because the
> IPv4 is dynamic (different WLANs) I think I can't use your suggested
> workaround :-(
>
> Is it perhaps possible to accept any peer who presents a valid (not
> revoked) certifiate independent of the presented ID? If so, I could
> control the access to the VPN by revoking the certificate.
>
> Regards
>
> Martin
>
> Am 18.12.2010 23:52, schrieb Andreas Steffen:
>> Hello Martin,
>>
>> the problem is that the Android client sends as its ID the IPv4 address
>> 192.168.101.21 which is not contained as a subjectAltName in the client
>> certificate:
>>
>>
>>> "L2TP"[1] 84.61.190.246 #1: no RSA public key known for '192.168.101.21'
>>>
>> As a workaround generate the Android certificate with
>>
>> subjectAltName=IP:192.168.101.21
>>
>> set in openssl.cnf or alternatively try to convince the Android phone
>> to send its Distinguished Name as an ID.
>>
>> Regards
>>
>> Andreas
>>
>> On 12/18/2010 10:18 PM, Develop wrote:
>>
>>> Hello,
>>>
>>> I have a serious problem using x509 certs with strongswan and my android
>>> (2.1) mobile.
>>>
>>> After some hours of work, PSK works fine but x509 certs don't. Logging
>>> pluto I got the well known error
>>>
>>> "L2TP"[1] xxx.xxx.xxx.xxx #1: no RSA public key known for
>>> '192.168.101.21'
>>>
>>> but the in the configuration (rightid) seems to be correct. Even if I
>>> don't use "rightid=" but "rightcert=publiccert.pem" using the
>>> publiccert.pem copied to the mobile I get this error.
>>>
>>> Here is my configuration:
>>>
>>> config setup
>>> nat_traversal=yes
>>> charonstart=yes
>>> plutostart=yes
>>> plutodebug=all
>>> plutostderrlog=/tmp/pluto.log
>>>
>>> conn L2TP
>>> authby=rsasig
>>> pfs=no
>>> rekey=no
>>> type=tunnel
>>> esp=aes128-sha1
>>> ike=aes128-sha-modp1024
>>> leftid="C=DE, ST=NRW, L=Bochum, O=IMA GmbH, OU=ipsec,
>>> CN=vpnrelay2, E=address at imagmbh.de"
>>> leftrsasigkey=%cert
>>> left=IP-ADDRESS-OF-THE-VPN-SERVER
>>> leftnexthop=%defaultroute
>>> leftprotoport=17/1701
>>> right=%any
>>> rightprotoport=17/%any
>>> rightsubnetwithin=0.0.0.0/0
>>> rightid="C=DE, ST=NRW, L=Bochum, O=IMA GmbH, OU=ipsec,
>>> CN=handymalu, E=address at imagmbh.de"
>>> rightrsasigkey=%cert
>>> auto=add
>>> keylife=60s
>>>
>>> and here the snip of the pluto-log:
>>>
>>>
>>> ....
>>> | 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04 10
>>> | a5 71 cb 29 58 61 4b 44 ce 22 5f 33 45 82 04 2a
>>> | certificate signature is valid
>>> | authcert list unlocked by 'verify_x509cert'
>>> | reached self-signed root ca
>>> | Public key validated
>>> | keyid: *AwEAAceE8
>>> | Modulus:
>>> 0xc784f34b1d8578b1152b92b4e7a55da38511d0dccdbb1445749a4b5638b6168f5bffafafa8510faed534d4d0a97d0c6b85750893343da5b9ac12a2da4395936dea885305bc6bc6500df081e8626443b1f28b21fc100c99b751be7bc5ce2b49f59b12ea0f4ce97e025d91d9bbfe03f535853af9ac27fa1efc4ba06328429b644d
>>>
>>> | PublicExponent: 0x10001
>>> | unreference key: 0x7f27ca4a1810 C=DE, ST=NRW, L=Bochum, O=IMA GmbH,
>>> OU=ipsec, CN=handymalu, E=address at imagmbh.de cnt 1--
>>> | hashing 216 bytes of SA
>>> "L2TP"[1] 84.61.190.246 #1: no RSA public key known for '192.168.101.21'
>>> "L2TP"[1] 84.61.190.246 #1: sending encrypted notification
>>> INVALID_KEY_INFORMATION to 84.61.190.246:500
>>>
>>>
>>> Also if I use
>>>
>>> rightid="C=*, ST=*, L=*, O=*, OU=*, CN=*, E=*"
>>>
>>> I get the error.
>>>
>>>
>>> Any help yould be wonderful.
>>>
>>> Thanks
>>>
>>> Martin
======================================================================
Andreas Steffen andreas.steffen at strongswan.org
strongSwan - the Linux VPN Solution! www.strongswan.org
Institute for Internet Technologies and Applications
University of Applied Sciences Rapperswil
CH-8640 Rapperswil (Switzerland)
===========================================================[ITA-HSR]==
More information about the Users
mailing list