Реальная проблема здесь в том, что открытый ключ, ну, в общем, открытый . То есть в свободном доступе, то есть обеспечивает нулевую безопасность шифрования.
Черт, любой в этой теме имеет всю информацию, необходимую для расшифровки всего. Как и гуглеры.
Пожалуйста, попытайтесь убедить своих пользователей не использовать такие данные с открытым ключом. По крайней мере, попросите их дать пароль или какой-нибудь другой, более защищенный блок, который вы можете использовать для генерации согласованного ключа.
Еще одна вещь. Ключи сертификата различаются по размеру. Вероятно, он может обработать выбрасывание лишних байтов в ключе, но вы, вероятно, получите исключение Array Index / Out Of Bounds, если ключ окажется короче, чем требуется ключу 3DES. Я сомневаюсь, что это произойдет, 3DES нужно только 56 бит, а ключи сертификатов почти всегда 256 бит или больше.