Missing/bad files : ca.crt, client.crt, client.key

Post Reply
alexisab
OpenVpn Newbie
Posts: 2
Joined: Thu Sep 27, 2018 2:16 pm

Missing/bad files : ca.crt, client.crt, client.key

Post by alexisab » Thu Sep 27, 2018 2:36 pm

Hi !

I've followed this great tutorial to create my own OpenVPN server => https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-18-04

I've generated a client1.ovpn file in which ca.crt, client1.cert, client1.key and ta.key are embeded but when I import this file in my OpenVPN connect Version 3.0.1.(770) I got this error :

Code: Select all

Failed to import profile

Failed to import OVPN profile from selected file. Missing/bad files : ca.crt, client.crt, client.key
Bellow is my .ovpn file :

Code: Select all

##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
proto tcp
;proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote xxx.xxx.xxx.xxx 443
;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing.  Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets.  Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca ca.crt
cert client.crt
key client.key

# Verify server certificate by checking that the
# certicate has the correct key usage set.
# This is an important precaution to protect against
# a potential attack discussed here:
#  http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the keyUsage set to
#   digitalSignature, keyEncipherment
# and the extendedKeyUsage to
#   serverAuth
# EasyRSA can do this for you.
remote-cert-tls server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
# Note that v2.4 client/server will automatically
# negotiate AES-256-GCM in TLS mode.
# See also the ncp-cipher option in the manpage
cipher AES-256-CBC
auth SHA256

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
#comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

<ca>
-----BEGIN CERTIFICATE-----
....................................................................
-----END CERTIFICATE-----
</ca>
<cert>
..............................................
-----BEGIN CERTIFICATE-----
.............................................................
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
..........................................................
-----END PRIVATE KEY-----
</key>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
..........................................
-----END OpenVPN Static key V1-----
</tls-auth>
I've read that

Code: Select all

tls-auth ta.key 1
may be a problem so I tried to comment it but it doesn't work either.

I tried on 3 devices :

- IPhone 5S version 10.3.1 (14E304) / OpenVPN version 3.0.1.(770) <=== doesn't work
- IPad Air version 12.0 (16A366) / / OpenVPN 3.0.1 <=== doesn't work


- Ubuntu 18.04 computer <==== Work perfectly

Because it works with the same .ovpn file on my ubuntu compter and not on iOS devices I think it's a bug of the iOS App. Can you confirm it ? Is there a solution ?

Thanks !


EDIT

I just tried on a Samsung Galaxy S7 with OpenVPN connect v3.0.5 and got the exact same error :| ...

alexisab
OpenVpn Newbie
Posts: 2
Joined: Thu Sep 27, 2018 2:16 pm

Re: Missing/bad files : ca.crt, client.crt, client.key

Post by alexisab » Fri Sep 28, 2018 8:32 am

I tried to import the .ovpn, ca.crt, client.crt, client.key and ta.key files directly in the device and it worked.

I think there is a bug in the app, it can't parse the .ovpn file to extract other files embeded into it.

thx2
OpenVpn Newbie
Posts: 1
Joined: Wed Jul 03, 2019 6:22 am

Re: Missing/bad files : ca.crt, client.crt, client.key

Post by thx2 » Wed Jul 03, 2019 6:29 am

I was stung by this same problem, but I don't think it's necessarily a bug in the iOS app. I suspect the Ubuntu and Windows clients are just more tolerant of configuration errors than iOS and Android.

If you re-read https://www.digitalocean.com/community/ ... untu-18-04, you'll see that it tells you to comment out "ca ca.crt", "cert client.crt", and "key client.key".

If you comment those out, you'll notice that the iOS app will work now.

Also, you can try the same config on Windows (and probably Ubuntu) and it should work too.

While you got a solution in the end, I'm sure this will help other people scouring the web for answers.

Post Reply