Просто небольшая предыстория моего проекта:
Я внедряю программу шифрования SMS, используя ECDH для Android (BouncyCastle), и мне нужно отправить свои открытые ключи через SMS. С точки зрения функциональности все работает, но я немного скептически отношусь к коду X.509, который я реализовал.
На стороне отправителя:
byte[] pubEnc = aKeyPair.getPublic().getEncoded();
X509EncodedKeySpec pubX509 = new X509EncodedKeySpec(pubEnc);
pubX509 затем кодируется в Base64 и отправляется через SMS
На стороне получателя:
KeyFactory keyFac = KeyFactory.getInstance("ECDH", "SC");
X509EncodedKeySpec pubX509 = new X509EncodedKeySpec(SharedS);
ECPublicKey pubKey = (ECPublicKey)keyFac.generatePublic(pubX509);
Полученное значение Base64 декодируется в SharedS, который приводится в новый pubX509
Как я уже говорил, с точки зрения реализации этот код, кажется, работает нормально, однако я хотел бы выяснить, правильно ли я реализую X509.
Любой совет будет высоко ценится.