How to setup E-Mail Encryption (S/MIME) - 8525, TyTN, MDA Vario II, JasJam ROM Development

Although PGP may be nice, the unfortunate fact is that it doesn't just "hook in" nicely to WM6 right now.
The track favored by the industrial giants is S/MIME, which is what Outlook and Netscape use. OpenSSL also includes the basic plumbing to do S/MIME stuff.
Let’s try to compile a simple step-by-step description with this thread, so as soon as it is complete we can create a wiki entry.
Step1: Setup Outlook utilize s/mine
Step1.1: Making a new X509 certificate
First, get and install the latest version of OpenSSL (if your OS doesn't already come with it). For M$ Windows you will find a installer here.
Next, you'll need to make a key pair so go to the bin folder and type:
% openssl genrsa -des3 -out keyfile 1024
This will make a key pair file. The private key will be encrypted with Triple DES. This means that anytime you do anything with the private key (like sign a message), you'll have to provide a passphrase (which you set at generation time). If you don't want to do this, then leave -des3 out, but just know that anyone who gets a copy of your key file can sign messages from you and read your encrypted mail.
To allow that everyone who received a signed email from you can verify the signature, you should create now a Certificate Signing Request, to get it signed by some root certificate, but this is optional, you can also create your own Certification Authority. But as long as the recipient has not imported your CA root certificate, one will be cluttered by warnings and error messages every time a signed and or encrypted email is displayed.
So I propose to get it signed by any common public CA. I choose
Thawte as an example as they offer the service for free. But you can choose any other you like.
So go sign up with Thawte's Freemail program and request a new certificate. At this point, go to the bottom of the form where it says "Developers of New Security Applications ONLY". Check the box that says "Paste in CSR Certificate Enrollment". Then click the button right below.
On the next screen there's probably nothing to do but hit "next>" when it asks about your name.
On the next screen there's probably nothing you should do but choose all of your e-mail addresses and hit "next>". Thawte advises that not all mail clients can handle having multiple e-mail addresses attached to a certificate, which means that if you send e-mail to someone using one of these clients, they may get a warning that the certificate doesn't match the message's From: line.
Same thing on the next screen.
On the next screen, accept the default extensions.
On the next screen, you'll see instructions telling you to make your certificate request, with a 16 character garbage string as the Common Name. At this point, you should go back to the shell window and do:
% openssl req -new -key keyfile
Answer all the questions that openssl asks, but be sure and paste in the 16 character garbage string Thawte gave you for the Common Name. Copy and paste the certificate request into the box on the Thawte form and hit "Next>".
Make sure everything looks ok on the last screen and hit "Finish".
A short time later, you should get an e-mail telling you your new certificate is done.
Go to the page (link) in the e-mail save it to a file in the openssl/bin folder.
The saved SPC file is a simply DER encoded PKCS#7 file containing the certificates.
Next, type:
openssl pkcs7 -print_certs -inform DER -out certs.pem -in file (where file is the name of the file with the PKCS7 stuff)
You should get out a bunch of certificates. You'll need to look at the text above each one to find the one that is your certificate. The rest are part of Thawte's Certifying Authority. It turns out that if you want your messages to verify correctly, you must also include Thawte's intermediate CA key.
There should be 3 certificates. The file certs.pem will then contain all the certificates in PEM form, you can manually cut and paste them. The one whose identity is your e-mail address is your certificate. The one whose subject and issue are identical is the Thawte CA root. You won't need that one, since we'll include it in the trusted root file later if it is not already there. The 3rd one will have the CA root as the issuer and something else as the subject (which will be the same as the issuer of your certificate). You need to save that certificate as an additional certificate for signing. We'll refer to the file containing this cert as othercert.
When you're done with all of that the pieces you need to keep are the key file you generated at the beginning (remembering the passphrase, if you set one), the intermediate cert between the Thawte CA root and your cert, and the certificate chunk for your e-mail address you got out of the last step. You're now ready to use S/MIME!
Step1.2: Importing in OUTLOOK
Outlook uses the pkcs12 format. OpenSSL can import and export certificates and private keys so that you can use the same cert and key pair on all your mail clients. To move a keypair and cert from OpenSSL to Outlook, you need to export it:
% openssl pkcs12 -export -inkey keyfile -certfile othercertfile -in certfile -out mycert.p12
This will ask you for a passphrase. This phrase locks the .p12 file. Outlook will ask this passphrase later.
Now open Outlook and go to Extras and open something called like Thrust center (I just have a German version so I can just guess).
Go to Email Security and click on Import, select your p12 file, enter your passphrase and click on OK.
In the next window you have the option the change the security level, medium means it will ask just for your permission, high it will additional ask for a passphrase, which will be defined if selected (not the same as used for protecting the keys).
On the same page section secure email (or something like that) you can change the settings concerning ciphering and signing algorithm.
You should choose for signing not MD5 as it is considered as broken, better is SHA1 even if this one is something like semi-broken.
Further you should prefer strong algorithm for instance 3DES instead of DES.
Select S/mime as format and give the settings a name before saving.
Now you are ready to use s/mime for signing and encrypting!
Step2: WM 6
Next step would be to import it in pocket outlook by just copy it to the Hermes and click on it.

I ll be honest, I didn't read your entire post
Just wanted to point out that in order to send an encrypted email to someone, you need to have his public key. Those keys are usually stored in a corporate directory, which need to be accessed in order to send the mail.

Thanks for your comment!
fun_key said:
I ll be honest, I didn't read your entire post
Just wanted to point out that in order to send an encrypted email to someone, you need to have his public key. Those keys are usually stored in a corporate directory, which need to be accessed in order to send the mail.
Click to expand...
Click to collapse
This is quit clear but for simply signing my own mail, just my privat key is required. As long as this is not working, encryption will also not work.
So the main problem is that Outlook is matching the certificate to email account, so most likely something with the certificate contained information
seems to be wrong...

Just for the records - as it seems I just soliloquise:
So I managed to get it working with Outlook!
I also successfully imported the same p12 certificate on my hermes.
For Pop3/SMTP accounts in WM6:
Receiving encrypted mails is working, the automatic s/mime decryption works fine.
But sending: under message options of a new email, encryption and signing is disabled !?!
Same for my synced outlook folder.
Could that be an issue with WMXL v0.21 ??
Maybe I should take BLACK 2.0 for a spin - it seems to be newer...
Or is s/mime encryption/signing only supported for exchange accounts?

... an other thing (outlook releated)
- please check the level of thrust for your own as well for imported certs
if the trustlevel is not set correctly outlook will refuse it (error: something
like certificate is invalid) - normaly that means a CA is missing the sequence
of signing CAs from the ROOT CA to the personal certificate
- If you receive a signed email: if you click left on the senders name and
select add to contects the cert is added to the new contact as well, as
soon as you save it, and the contact already exists select update.
Maybe this is the reason why using s/mime on WM6 is not supported as the contact database is not storing any certs ?!?
So its only working together with Exchange?

http://www.jacco2.dds.nl/networking/windowsmobile-smime.html

Hi,
I use WM 6.1 on my Hermes (CRCs stable version) and want to use e-mail encryption.
But it is not possible. Import of the private key was OK, now I tried to send a message to a user with a public key in GAL, but failure is "Error Crtifcates missing".
So I import the private key to my contact, but same failure.
Why does the device not find the public keys?
Karl

karlh said:
Hi,
I use WM 6.1 on my Hermes (CRCs stable version) and want to use e-mail encryption.
But it is not possible. Import of the private key was OK, now I tried to send a message to a user with a public key in GAL, but failure is "Error Crtifcates missing".
So I import the private key to my contact, but same failure.
Why does the device not find the public keys?
Karl
Click to expand...
Click to collapse
You need to import the certificate/public key of the recipient, also check the Key Usage extensions within the certificate, if they dont have the correct ones for e-mail encryption then your stuffed.

MrGAN said:
Just for the records - as it seems I just soliloquise:
So I managed to get it working with Outlook!
I also successfully imported the same p12 certificate on my hermes.
For Pop3/SMTP accounts in WM6:
Receiving encrypted mails is working, the automatic s/mime decryption works fine.
But sending: under message options of a new email, encryption and signing is disabled !?!
Same for my synced outlook folder.
Could that be an issue with WMXL v0.21 ??
Maybe I should take BLACK 2.0 for a spin - it seems to be newer...
Or is s/mime encryption/signing only supported for exchange accounts?
Click to expand...
Click to collapse
Answer find :
Sadly, Microsoft decided to not support S/MIME with SMTP, the Internet industry standard for e-mail. If your company or ISP uses another mail server than Exchange you will not be able to use the features "Encrypt message" and "Sign message" in Windows Mobile's "Messaging" application. The option "Security" is ghosted. This is clearly an example of vendor lock-in. It is an attempt by Microsoft to lock Windows Mobile users into Exchange and their other product offerings. I cannot think of a technical reason why Microsoft could not support SMTP for secure e-mail. Storing certificates on mobile devices takes valuable memory, but most certificates are only 1-2 KB. The least they could have done is use open standards such as LDAP for looking up certificates of recipients. (There is a "Check Names" option in WM6 where you can lookup names in an online server but I don't know if that means LDAP and if certificates are actually checked).
Click to expand...
Click to collapse
Grrr !!

Related

'Admin policy' broken on WM2003 !

'Admin Policy' is a little-known feature of Microsoft PocketPC that was built mainly for security-aware corporate customers. It allows one to lock a PocketPC device in a mode that no longer display a 'run' dialog, disallows the addition of external programs via ActiveSync or through Internet Explorer, disallows renaming of files to .exe and disallows remote changes to the registry through 'RapiRegMod'.
To be able to play with 'Admin Policy', on most PPCs one has to rename the registry value 'Redirect' in the registry at '\HKLM\Controlpanel\AdminPassword' to something else. Then go to 'Settings' / 'System' and look for the 'Policy' applet.
To enter the 'Secure Mode' the user has to enter a password, and the same password needs to be entered if the user is to leave again. The unicode representation of this password (0x0000 appended) is hashed using MD5 and placed in the binary value 'AdminInfo' in '\HKLM\Security\Policies\Shell' (on WM2003) or '\HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Shell' (on PPC2002).
However, they forgot to move the DWORD value 'NoExternalExes' (set to one when the Admin Policy is on) from the old to the new spot in the registry, and so the whole system just doesn't work on WM2003: you can still move binaries to the device and run them.
It still claims it works: it says:
Once enabled, users will not be able to download new programs via Pocket Internet Explorer, ActiveSync, or beaming to their mobile device. Users will not be able to rename programs to enable them to start on the device.
Click to expand...
Click to collapse
But that's Not True (tm) until you manually add the 'NoExternalExes' value.
This has been a public service announcement from XDA-developers.com.

Activesync error code 0x80072f06

I am always having Activesync error code 0x80072f06 , anyone facing same issue? I was able to sync to the server via WiFi till somehow it's not working after connecting to a PC via USB.
According to MS website , here is the details. Hope someone can give me some guidance.
You have an incorrect SSL certificate common name in the Host Name field. For example, you may have entered www.server.com, when the common name on the certificate is actually www.different.com. Make sure the server name is entered correctly.
The Exchange Server name in the ActiveSync settings differs from the name that is required to establish an SSL connection. Correct the Exchange Server name, and try to synchronize again. If you synchronize on a schedule, synchronization has been changed from scheduled to manual
Open Registry Editor on your desktop (Start/Run and type "regedit") and locate the key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows CE Services. Right-click on the value list and choose New/DWORD value. Type the name "AllowLSP" and leave the value zero.
The problem requires you to edit the registry of the device. To do this you will need to install to the device an editor called: PHM Editor http://www.phm.lu/products/PocketPC/RegEdit/
If you have questions on how to edit the registry file, drop me an email and I'll explain it. [email protected]

Exchange Problems! 0x800072F17

I really didn't want to post this, honest. I have searched xda. I have searched the web. I have found other threads. I have followed the suggestions. But, it seems that my exgirlfriend may have been right, I'm an idiot.
I can't get my Hermes to connect to my office exchange server. The settings on my end are correct, the issue is on my office's end.
When I sync I get an error and support code 0x80072F17. I know that it's a certificate error.
IT is not going to help me on this one, so I'm on my own. I have tried to manually import the certificate. Didn't work. I tried making a regedit I found on another thread. Didn't work. I tried combinations of various settings. I only time I don't get an error code is when my device begins to endlessly prompt me for my password.
I'm sorry to post, but it's my last option. Does anyone have any work arounds for this error? Is there a way to have my device ignore the certificates? Is there anyone out there that can help??
There must be some way. My colleagues, both of them with HTC Trinity's, original WM5 roms came across this error when the certificate on our Outlook Web Access was about to expire. Me, however, with my HTC TyTN WM6 never got this issue. I'm not sure why. I know I've installed a couple of cert cabs, the one they call sdkcerts.cab and one more. Search for that cab and see if it helps. I always figured it made the device accept non signed software but maybe it helps for these kinds of issues as well.
You just must set correct date and time for you phone and try again.
I'll try and give you a hand...
First off, you need to know a few things to set this up.
(1) The FQDN of you company used to access the OWA (Outlook Web Access), for example, mail.mycompany.com/exchange
(2) The NetBIOS name of your local domain at your office (Right click the My Computer icon on your office pc and select Computer Name and note the Domain. If your IT dept did it the recomended way it'll have a .local extension, for instance, lawoffice.local. You'll use just the domain name without the extension, ie: lawoffice. (without the period, LOL)
(3) I absolutely never use my PC to configure my ActiveSync on my devices, just to initailly copy the certificate to the Storage Card.
Two ways to do the certificate. First is the method I always used until I discovered the second method, which is in my sig.
(BTW, substitute YOUR FQDN for mine, duhh! )
(1) Install the certificate on your PC by going to the FQDN of your OWA in Internet Explorer 7 on your PC, not your PDA (XP is much easier, Vista is quite difficult to do this)
For example, open IE7 and put mail.mycompany.com/exchange in the address bar. You should initially get a "There is a problem with this website's security certificate" error, click on "Continue to this Website" Now, next to the address bar at the top you'll see Certificate Error", click it, View, Install, Next, Next, Finish, Yes. Then you'll see "The import was sucessful" <damn, that took a while!)
Close IE 7 completely and reopen it, put "mail.mydomain.com/exchange" in the address bar and you'll go straight to the OWA page, meaning that your import WAS sucessful, yipee!
(2) Click on Start, Run and type "mmc" and OK. This opens the Microsoft Management Console and you'll see Console1 at the top. File, Add/Remove Snap-In, Add, Certificates, Finish, Close, OK. Now expand Certificates, Trusted Root Certification Authorities, Certificates. Find YOUR certificate in the list. Right click, All Task, Export, Next, DER encoded binary, Next, File name. I use c:\mail.mydomain.com so that I can find it easily. Now finish and you'll get the Export was sucessful message.
(3) Connect to your PDA via ActiveSync as a guest, kill your partnership if it exists, you don't need it), copy the cert to your Storage Card and execute it from there.
Now disconnect youR PDA AND open ActiveSync. Server address is the FQDN of you company without the /exchange, for example, mail.mycompany.com. Leave the check mark on the SSL. Next put your user name, password and the NetBIOS name of your domain. The configure you options for the number of days to sync, etc.
That's it!
Now... once you do that and it works, follow this thread, Auto-provisioning POP3 or Exchange mail via UC Mini how-to.
so you can create a cab to do this automatically!
I had this problem before.
For me, it was due to the fact that I installed CESTAR and it messed up my certs. Unintalling CESTAR won't fix it. You got to reload the rom.
From there, I used Leies' Chinese character support which is free and doesn't mess up the certs.
SOLVED
I have been at this issue for over 2 days now, dealing with the error 0x800072f17. About 5 min ago i fixed it. After narrowing the problem down to a certificate error i then proceeded to look at the certificates. There were two in the certificate store (personal) and both were self signed.
One was XXXX (server name) and the other was XXXX(company name) CA.
The server name one had expired. Seeing as how it is self signed, i had our it admin renew it. He forgot to re-assign it to the outlook web access, so i did it myself in the Internet Information Services console on the server.
This had solved only 1/2 of the problem.
The certificate was assigned to the exchange server, not the OWA web site. After discovering that i could not change the issued to name, or create a new certificate (not an admin) i decided to change the activesync settings to sync the INTERNAL OWA address, which is servername.internaldomain.externaldomain.com (this had not previously worked due to the expired certificate)
Now i have a fully functioning push email system.
Nearly all done without admin permissions.
Whilst im new to this site, feel free to pm me about it.
Solving this is the most satisfying thing i have done this year lol.
But does this allow you to get/check email from outside your location? Or do you have to establish a VPN first?

IE @ Mango sometime does not support http autentication

Hi
I have strange issue with using IE. I have some website which uses http autentication. I do not mean the autentication made with website pages (like these on this forum) but popup dialog which asks for user and password. This is my private server so I can do whatever I want. When I enter on website with mango phone I have popup asking with password, but when I enter all data I have only empty white page. On server side I see one request which is responded by error 401 (unauthorised). Under NoDo autentication was 100% ok and at this moment I can enter website from another computer with sam login and password without any problem. There is also second issue, when IE gets error 401, even when I reload page, on server side there is no second refresh, so I have no way to reenter password or see any message.
This bug it is a little more complicated IE9 from Mango support HTTP autentication, but not always. Normally when user first time enters website, gets 401 error and then browser ask for password. When user enters, browser within next request add encrypted password, and server could respond 401 if password is wrong or any other message like 200 when password is ok.
IE9 has bug, if server use HTTPS and has certificate signed with untrusted CA, asks user if he really want to enter website, and if user agree, then receive 401 code, and does not follow previosly described scheme. If I add this untruster CA to WP7 trusted certificate provider everything works 100% OK.
It is probably some kind of wrong designed if-then-else inside IE9, when user selects to accept untrusted website.

The problem about VPN(IKEv2) with Win10 Mobile

L2TP work as well.
IKEv2 not route , and can not get the vaild IP address.
Can anyone solve this problem?
0oVicero0 said:
L2TP work as well.
IKEv2 not route , and can not get the vaild IP address.
Can anyone solve this problem?
Click to expand...
Click to collapse
are you on Redstone build ?
seems VPN broken on Redstone , not only IKEV2
It's working fine for me. IKEv2 IPsec, Strongswan server.
Requires editing the connections file on the phone, though. Windows 10 mobile (same for PC) will not use the default route provided by the VPN server and there is no toggle to send all the traffic through the VPN like there was on Windows Phone 8/8.1 in the VPN connection settings GUI.
So, 'IpPrioritizeRemote=1' has to be set manually for the connection in rasphone.pbk on the phone. This can be achieved and requires an NTFS formatted SD card with the modified rasphone.pbk and a symbolic link to 'C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections' (you can make this symbolic link on the PC).
First you have to create a VPN connection on the phone, then delete it. This will make 'C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections\Pbk\' user writable and you can put a modified rasphone.pbk file in that location by accessing it through the symbolic link on the SD card.
If you don't know how to make the rasphone.pbk file, first configure the connection as it should be on the phone, then copy rasphone.pbk from the phone, edit it on PC and add 'IpPrioritizeRemote=1'. Delete the VPN connection from the phone, and put the modified rasphone file in its place.
Reboot might be required after copying the file manually.
^ This is for phones that can't be interop unlocked like my Lumia 950XL. It's much easier for other phones which can be unlocked and full FS access is achievable.
Pretty stupid omission on Microsoft's part. I've been shouting about it on windows feedback since Windows 10 Mobile was released to insiders, but no one listens.
VPN is broken in Windows 10. Period! Microsoft it's not going to fix it.
w.bogdan said:
VPN is broken in Windows 10. Period! Microsoft it's not going to fix it.
Click to expand...
Click to collapse
No period. It's broken, but it can be made to work. Who put you in charge of dropping the period?
DLS123 said:
No period. It's broken, but it can be made to work. Who put you in charge of dropping the period?
Click to expand...
Click to collapse
Search for "Windows 10 DNS resolution" or other VPN related issues in Windows 10. It's not a bug, it's a feature ... for NSA, the government of China and so on.
w.bogdan said:
Search for "Windows 10 DNS resolution" or other VPN related issues in Windows 10. It's not a bug, it's a feature ... for NSA, the government of China and so on.
Click to expand...
Click to collapse
I know about it and took measures against it. They call it Smart multi-homed name resolution. It can be disabled on Desktop and also the order of DNS servers used can be set for each VPN connection. This isn't really caused by the broken built-in VPN client, but the way Windows 10 itself works out of the box.
DLS123 said:
I know about it and took measures against it. They call it Smart multi-homed name resolution. It can be disabled on Desktop and also the order of DNS servers used can be set for each VPN connection. This isn't really caused by the broken built-in VPN client, but the way Windows 10 itself works out of the box.
Click to expand...
Click to collapse
It's not just desktop. On W10M, DNS leaks, VPN connected icon is barely visible and you don't get notified if the VPN connection drops. Is hard to believe Satya Nadella is so dumb not to notice.
w.bogdan said:
It's not just desktop. On W10M, DNS leaks, VPN connected icon is barely visible and you don't get notified if the VPN connection drops. Is hard to believe Satya Nadella is so dumb not to notice.
Click to expand...
Click to collapse
I know there are DNS leaks on W10Mobile and multi-homing can't be disabled, but I don't have a problem with that. The purpose of VPN for me is to gain access to other private networks and encrypt the communication with them. DNS leaks aren't that critical. It's not like I don't want my employer to know what websites I access while connecting to VPNs from their network. I couldn't care less to be honest that they're logging my DNS querries. And I also don't live in China.
Even if they have my DNS records they still won't ever be able to break the encrypted IPsec tunnels and get any glimpse of what's passing through them.
Wasn't able to download rasphone.pbk from the phone but could upload one.
I used my Windows 10 PC and created the connections there. Then I disabled IpPrioritizeRemote and used the powershell cmdlet Add-VpnConnectionRoute to add a route to the pbk file pointing to my local subnet.
I am now able to connect to the internet and access corporate resources at the same time.
I however couldn't connect from one particular app which worked in 8.1. There may be issues with non universal apps.
DLS123 said:
It's working fine for me. IKEv2 IPsec, Strongswan server.
Requires editing the connections file on the phone, though. Windows 10 mobile (same for PC) will not use the default route provided by the VPN server and there is no toggle to send all the traffic through the VPN like there was on Windows Phone 8/8.1 in the VPN connection settings GUI.
So, 'IpPrioritizeRemote=1' has to be set manually for the connection in rasphone.pbk on the phone. This can be achieved and requires an NTFS formatted SD card with the modified rasphone.pbk and a symbolic link to 'C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections' (you can make this symbolic link on the PC).
First you have to create a VPN connection on the phone, then delete it. This will make 'C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections\Pbk\' user writable and you can put a modified rasphone.pbk file in that location by accessing it through the symbolic link on the SD card.
If you don't know how to make the rasphone.pbk file, first configure the connection as it should be on the phone, then copy rasphone.pbk from the phone, edit it on PC and add 'IpPrioritizeRemote=1'. Delete the VPN connection from the phone, and put the modified rasphone file in its place.
Reboot might be required after copying the file manually.
^ This is for phones that can't be interop unlocked like my Lumia 950XL. It's much easier for other phones which can be unlocked and full FS access is achievable.
Pretty stupid omission on Microsoft's part. I've been shouting about it on windows feedback since Windows 10 Mobile was released to insiders, but no one listens.
Click to expand...
Click to collapse
Thanks!!! It's working fine!
I think Microsoft do not want to fix it.
0oVicero0 said:
I think Microsoft do not want to fix it.
Click to expand...
Click to collapse
Yeah, looks like that's the case. There is very little feedback in insider hub about VPN problems. Very few care about these issues so probably MS has no incentive to fix and prefer to rely on MDM for VPN configuration on these devices. Now if only that were an option for mere mortals...
How to import self-signed key or export builtin cert for a strongswan server?
DLS123 said:
It's working fine for me. IKEv2 IPsec, Strongswan server.
Click to expand...
Click to collapse
How did you get the VPN connection set up properly (aside from the IpPrioritizeRemote setting)?
I've set up a strongswan server and generated my own self-signed keys using ipsec pki, but when I import the key to my Lumia 1520 (by tapping it using the Files app and tapping import at the prompt), the VPN connection will not send that cert. Instead it sends a certificate issued by CN=Microsoft Genuine Windows Phone CA15" with an OU that looks like a GUID.
So I tried punting and just exporting that certificate to place on my strongswan server ... but I can't figure out how to get the certificate off the phone either. So how do I do either one?
rlively said:
How did you get the VPN connection set up properly (aside from the IpPrioritizeRemote setting)?
I've set up a strongswan server and generated my own self-signed keys using ipsec pki, but when I import the key to my Lumia 1520 (by tapping it using the Files app and tapping import at the prompt), the VPN connection will not send that cert. Instead it sends a certificate issued by CN=Microsoft Genuine Windows Phone CA15" with an OU that looks like a GUID.
So I tried punting and just exporting that certificate to place on my strongswan server ... but I can't figure out how to get the certificate off the phone either. So how do I do either one?
Click to expand...
Click to collapse
I don't know what self generated certificate your phone sends, but you shouldn't use that.
You should generate a client certificate on the strongswan server then you should include both the root CA and the client certificate and pack them together in a PKCS 12 file (.p12) which you open on the phone and import. The phone will choose the proper certificate stores to import to. Did you do that?
https://www.zeitgeist.se/2013/11/22/strongswan-howto-create-your-own-vpn/
Just follow this tutorial., with the only mention that you should add "--flag clientAuth" to the command line for generating the client certificate.
DLS123 said:
I don't know what self generated certificate your phone sends, but you shouldn't use that.
You should generate a client certificate on the strongswan server then you should include both the root CA and the client certificate and pack them together in a PKCS 12 file (.p12) which you open on the phone and import. The phone will choose the proper certificate stores to import to. Did you do that?
Just follow this tutorial., with the only mention that you should add "--flag clientAuth" to the command line for generating the client certificate.
Click to expand...
Click to collapse
Thanks, that is a good tutorial - I definitely did not use the clientAuth flag (the ipsec tutorial for openWRT didn't include it: openwrt doc/howto/vpn.ipsec.roadwarrior), so I tried generating new certs with clientAuth. Unfortunately I got the same results. My Win10 phone sent the same "Microsoft Genuine Windows Phone CA15" cert.
Did you import the PKCS 12 file just by tapping it in the Microsoft "Files" app on the phone or did you use another method? I'm verifying the certs with the Microsoft "Certificates" app, which does show that the original cert I generated has no "Enhanced usages" but the second has "Client Authentication." Still the builtin VPN client won't pick it to send to my strongSwan server.
I did away completely with my configuration and started over with the win7 configuration here: strongswan wiki: Win7CertReq but none of it will help if I can't get my phone to actually send the correct certificate ... this configuration did something a little different though:
My phone sent the correct certificate in the "received TLS peer certificate" line followed by these error messages:
no trusted certificate found for 'my-CN-here' to verify TLS peer
sending fatal TLS alert 'certificate unknown'
Despite the fact that I have the certificate pem in /etc/ipsec.d/certs ...
in any case it continues on and sends the Microsoft cert afterwards and then the server throws "no peer config found" (since I don't have the public cert loaded for that MS cert).
Followed up on the error here: strongswan wiki /issues/785
I also tried it with "eap_identity=%identity" instead of "eap_identity=%any".
Frustrating that it works great for Win7 but I just can't get a Win10 phone working. Any guides out there specifically for Windows phone + Strongswan?
rlively said:
Thanks, that is a good tutorial - I definitely did not use the clientAuth flag (the ipsec tutorial for openWRT didn't include it: openwrt doc/howto/vpn.ipsec.roadwarrior), so I tried generating new certs with clientAuth. Unfortunately I got the same results. My Win10 phone sent the same "Microsoft Genuine Windows Phone CA15" cert.
Did you import the PKCS 12 file just by tapping it in the Microsoft "Files" app on the phone or did you use another method? I'm verifying the certs with the Microsoft "Certificates" app, which does show that the original cert I generated has no "Enhanced usages" but the second has "Client Authentication." Still the builtin VPN client won't pick it to send to my strongSwan server.
I did away completely with my configuration and started over with the win7 configuration here: strongswan wiki: Win7CertReq but none of it will help if I can't get my phone to actually send the correct certificate ... this configuration did something a little different though:
My phone sent the correct certificate in the "received TLS peer certificate" line followed by these error messages:
no trusted certificate found for 'my-CN-here' to verify TLS peer
sending fatal TLS alert 'certificate unknown'
Despite the fact that I have the certificate pem in /etc/ipsec.d/certs ...
in any case it continues on and sends the Microsoft cert afterwards and then the server throws "no peer config found" (since I don't have the public cert loaded for that MS cert).
Followed up on the error here: strongswan wiki /issues/785
I also tried it with "eap_identity=%identity" instead of "eap_identity=%any".
Frustrating that it works great for Win7 but I just can't get a Win10 phone working. Any guides out there specifically for Windows phone + Strongswan?
Click to expand...
Click to collapse
I import the certificates from file explorer on phone or from the OneDrive app, doesn't matter.
Have you actually set the EAP identity correctly in the client certificate? CN has to be exactly the same as --san
That's the eap_identity which has to be known if you use EAP-TLS.
I don't know what else to say, maybe post your ipsec.conf with censored IPs
DLS123 said:
I import the certificates from file explorer on phone or from the OneDrive app, doesn't matter.
Have you actually set the EAP identity correctly in the client certificate? CN has to be exactly the same as --san
That's the eap_identity which has to be known if you use EAP-TLS.
I don't know what else to say, maybe post your ipsec.conf with censored IPs
Click to expand...
Click to collapse
For the moment I just have mschap authentication with no certificate and it works. The certificate is just giving me fits.
On my client certificate my CN is not the same as the san. My san is set to the FQDN of my VPN server ... the CN of my client certificate is an identifier for my client.
What does the VPN server use for eap_identity - the CN from the client certificate when set to eap_identity=%identity ?
---------- Post added at 10:01 PM ---------- Previous post was at 09:35 PM ----------
rlively said:
For the moment I just have mschap authentication with no certificate and it works. The certificate is just giving me fits.
On my client certificate my CN is not the same as the san. My san is set to the FQDN of my VPN server ... the CN of my client certificate is an identifier for my client.
What does the VPN server use for eap_identity - the CN from the client certificate when set to eap_identity=%identity ?
Click to expand...
Click to collapse
My server certificate does have a CN and san that match. I thought I read somewhere that having that same value in the client san would help the client match up the cert to send to the server, at least for Windows Phone. Of course I can't find that guide now, so maybe I misread. I do see that in the example on https://www.zeitgeist.se/2013/11/22/strongswan-howto-create-your-own-vpn/ that the server CN and san match and the client CN and san match each other.
In the client certificate you should have [email protected]_FQDN --san server_FQDN --flag clientAuth
the eap_identity used by strongswan is the part before @ from CN.
It won't match anything when using eap_idenity=%identity if you don't do it like this.
Are there any relevant registry files we can access with interop tools?
DLS123 said:
It's working fine for me. IKEv2 IPsec, Strongswan server.
Requires editing the connections file on the phone, though. Windows 10 mobile (same for PC) will not use the default route provided by the VPN server and there is no toggle to send all the traffic through the VPN like there was on Windows Phone 8/8.1 in the VPN connection settings GUI.
So, 'IpPrioritizeRemote=1' has to be set manually for the connection in rasphone.pbk on the phone. This can be achieved and requires an NTFS formatted SD card with the modified rasphone.pbk and a symbolic link to 'C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections' (you can make this symbolic link on the PC).
First you have to create a VPN connection on the phone, then delete it. This will make 'C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections\Pbk\' user writable and you can put a modified rasphone.pbk file in that location by accessing it through the symbolic link on the SD card.
If you don't know how to make the rasphone.pbk file, first configure the connection as it should be on the phone, then copy rasphone.pbk from the phone, edit it on PC and add 'IpPrioritizeRemote=1'. Delete the VPN connection from the phone, and put the modified rasphone file in its place.
Reboot might be required after copying the file manually.
^ This is for phones that can't be interop unlocked like my Lumia 950XL. It's much easier for other phones which can be unlocked and full FS access is achievable.
Pretty stupid omission on Microsoft's part. I've been shouting about it on windows feedback since Windows 10 Mobile was released to insiders, but no one listens.
Click to expand...
Click to collapse
Hi I tried your manual, unfortunately without any success
If I Read it correctly you do the following steps:
1) Format sd card on NTFS
2) On the sd card create symbolic link to: C:\Data\USERS\DefApps\APPDATA\ROAMING\MICROSOFT\Network\Connections
3) Insert sd in phone
4) Create a vpn connection on the phone
5) Delete al the vpn connections on the phone
6) Use the phone to put a new (modified) rasphone.pbk file on the sd card (though onedrive??). I cant access my sd om my pc when usb is connected
7) Reboot the phone
8) Make a new vpn connection (can it have a different name?)
Can someone verify if i miss something?
I'll be very happy if this works

Categories

Resources