I verified this problem is true on a linux to linux connection as well.
It seems like something isn't right with my ca.crt but I verified the ca.crt and client.
openssl verify -CAfile /etc/openvpn/server/ca.crt /etc/easy-rsa/pki/signed/client.crt
/etc/easy-rsa/pki/signed/client.crt: OK
Log on my linux client trying to connect:
# openvpn /etc/openvpn/client/client.conf
Sun Jun 25 07:37:12 2017 OpenVPN 2.4.3 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jun 21 2017
Sun Jun 25 07:37:12 2017 library versions: OpenSSL 1.1.0f 25 May 2017, LZO 2.10
Sun Jun 25 07:37:12 2017 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Sun Jun 25 07:37:12 2017 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Sun Jun 25 07:37:12 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.xxx:443
Sun Jun 25 07:37:12 2017 Socket Buffers: R=[87380->87380] S=[16384->16384]
Sun Jun 25 07:37:12 2017 Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.xxx:443 [nonblock]
Sun Jun 25 07:37:13 2017 TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:443
Sun Jun 25 07:37:13 2017 TCP_CLIENT link local: (not bound)
Sun Jun 25 07:37:13 2017 TCP_CLIENT link remote: [AF_INET]xxx.xxx.xxx.xxx:443
Sun Jun 25 07:37:13 2017 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:443, sid=da26dcc7 994b1462
Sun Jun 25 07:37:13 2017 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: CN=Easy-RSA CA
Sun Jun 25 07:37:13 2017 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Sun Jun 25 07:37:13 2017 TLS_ERROR: BIO read tls_read_plaintext error
Sun Jun 25 07:37:13 2017 TLS Error: TLS object -> incoming plaintext read error
Sun Jun 25 07:37:13 2017 TLS Error: TLS handshake failed
Sun Jun 25 07:37:13 2017 Fatal TLS error (check_tls_errors_co), restarting
Sun Jun 25 07:37:13 2017 SIGUSR1[soft,tls-error] received, process restarting
Sun Jun 25 07:37:13 2017 Restart pause, 5 second(s)
Here is the client.conf (under iOS client.ovpn) that I am using:
client
dev tun
remote my.fqdn.org 443 tcp
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
cipher AES-256-CBC
auth SHA512
comp-lzo
remote-cert-tls server
key-direction 1
<ca>
... omitted ...
</ca>
<cert>
... omitted ...
</cert>
<key>
... omitted ...
</key>
<tls-auth>
... omitted ...
</tls-auth>