Добрый день. У меня следующая проблема — OpenVPN не работает на устройствах с операционной системой iOS. При этом всё работает на других ОС, включая MacOS. Причём ситуация возникает только если сертификаты были сгенерированы в Mikrotik. Если же импортировать в iOS ключи, созданные на Linux, то всё работает нормально.
Сначала была вот такая ошибка:
2017-06-25 01:43:04 EVENT: CORE_ERROR PolarSSL: error parsing config private key : PKCS5 - Requested encryption or digest alg not available [ERR]
Я понял причину, потому что Mikrotik шифрует приватный ключ в формате, который iOS не поддерживает.
[root@ip-172-31-14-92 centos]# openssl asn1parse -in 1_cert_export_test-client-ovpn-12.key
0:d=0 hl=4 l=1311 cons: SEQUENCE
4:d=1 hl=2 l=73 cons: SEQUENCE
6:d=2 hl=2 l=9 prim: OBJECT BES2
17:d=2 hl=2 l=60 cons: SEQUENCE
19:d=3 hl=2 l=27 cons: SEQUENCE
21:d=4 hl=2 l=9 prim: OBJECT BKDF2
32:d=4 hl=2 l=14 cons: SEQUENCE
34:d=5 hl=2 l=8 prim: OCTET STRING [HEX DUMP]:249CA7FCEC409541
44:d=5 hl=2 l=2 prim: INTEGER :0800
48:d=3 hl=2 l=29 cons: SEQUENCE
50:d=4 hl=2 l=9 prim: OBJECT :aes-256-cbc
61:d=4 hl=2 l=16 prim: OCTET STRING [HEX DUMP]:0A3C812B3F915210ADB830EC58C43845
На Linux вывод такой:
[root@ip-172-31-14-92 centos]# openssl asn1parse -in client_07.key
0:d=0 hl=4 l=1294 cons: SEQUENCE
4:d=1 hl=2 l=64 cons: SEQUENCE
6:d=2 hl=2 l=9 prim: OBJECT BES2
17:d=2 hl=2 l=51 cons: SEQUENCE
19:d=3 hl=2 l=27 cons: SEQUENCE
21:d=4 hl=2 l=9 prim: OBJECT BKDF2
32:d=4 hl=2 l=14 cons: SEQUENCE
34:d=5 hl=2 l=8 prim: OCTET STRING [HEX DUMP]:12700371E88C41C2
44:d=5 hl=2 l=2 prim: INTEGER :0800
48:d=3 hl=2 l=20 cons: SEQUENCE
50:d=4 hl=2 l=8 prim: OBJECT :des-ede3-cbc
После моих манипуляций алгоритмы совпали. Но появилась другая ошибка:
2017-06-25 23:01:56 Client exception in transport_recv_excode: PolarSSL: SSL read error : SSL - Processing of the Certificate handshake message failed
Прошу помочь с решением данной проблемы.
Сначала была вот такая ошибка:
2017-06-25 01:43:04 EVENT: CORE_ERROR PolarSSL: error parsing config private key : PKCS5 - Requested encryption or digest alg not available [ERR]
Я понял причину, потому что Mikrotik шифрует приватный ключ в формате, который iOS не поддерживает.
[root@ip-172-31-14-92 centos]# openssl asn1parse -in 1_cert_export_test-client-ovpn-12.key
0:d=0 hl=4 l=1311 cons: SEQUENCE
4:d=1 hl=2 l=73 cons: SEQUENCE
6:d=2 hl=2 l=9 prim: OBJECT BES2
17:d=2 hl=2 l=60 cons: SEQUENCE
19:d=3 hl=2 l=27 cons: SEQUENCE
21:d=4 hl=2 l=9 prim: OBJECT BKDF2
32:d=4 hl=2 l=14 cons: SEQUENCE
34:d=5 hl=2 l=8 prim: OCTET STRING [HEX DUMP]:249CA7FCEC409541
44:d=5 hl=2 l=2 prim: INTEGER :0800
48:d=3 hl=2 l=29 cons: SEQUENCE
50:d=4 hl=2 l=9 prim: OBJECT :aes-256-cbc
61:d=4 hl=2 l=16 prim: OCTET STRING [HEX DUMP]:0A3C812B3F915210ADB830EC58C43845
На Linux вывод такой:
[root@ip-172-31-14-92 centos]# openssl asn1parse -in client_07.key
0:d=0 hl=4 l=1294 cons: SEQUENCE
4:d=1 hl=2 l=64 cons: SEQUENCE
6:d=2 hl=2 l=9 prim: OBJECT BES2
17:d=2 hl=2 l=51 cons: SEQUENCE
19:d=3 hl=2 l=27 cons: SEQUENCE
21:d=4 hl=2 l=9 prim: OBJECT BKDF2
32:d=4 hl=2 l=14 cons: SEQUENCE
34:d=5 hl=2 l=8 prim: OCTET STRING [HEX DUMP]:12700371E88C41C2
44:d=5 hl=2 l=2 prim: INTEGER :0800
48:d=3 hl=2 l=20 cons: SEQUENCE
50:d=4 hl=2 l=8 prim: OBJECT :des-ede3-cbc
После моих манипуляций алгоритмы совпали. Но появилась другая ошибка:
2017-06-25 23:01:56 Client exception in transport_recv_excode: PolarSSL: SSL read error : SSL - Processing of the Certificate handshake message failed
Прошу помочь с решением данной проблемы.