Если это ваш общеизвестный сервер, с которым вы общаетесь, и SSL так или иначе вызывает у вас головную боль, то вы можете также рассмотреть возможность отключения SSL.
SSL действительно предназначен для решения проблемы общения с «неизвестным» сервером, отсюда и сложности сертификатов и согласования протоколов. Если проблема, которую вы пытаетесь решить, это просто отправить зашифрованные данные на известный сервер, тогда вы всегда можете сгенерировать пару ключей RSA, вставить открытый ключ в файл в банке и использовать скучный старый криптографический API для отправки и интерпретации ваших данных. Просто мысль ...!
Обновление: Я должен был упомянуть, что, во-первых, я предполагаю, что у вас есть надежные средства установки программного обеспечения на ваших клиентах. Комментатор справедливо указал, что, если это не так, то распространение открытого ключа таким способом подвергается атаке «человек посередине» (в результате MITM дает вам сглаженную банку с открытым ключом для ИХ eavesedropping сервер). Я предполагал, что это не та модель потока, от которой вы пытаетесь защитить, и что клиенты получают банку из надежного источника (например, инженер из компании устанавливает программу в своей системе). Если они загружают банку через Интернет, отправляют ее по электронной почте и т. Д., Вы все равно захотите подписать банку с сертификатом, выданным ЦС, даже если в вашем действительном коде, вы можете использовать открытый ключ, который вы распределили в банке для подключения.