Просто немного фона на моем проекте:X.509 сертификации для Android
Я реализует программу шифрования 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.
Любые советы были бы высоко оценены.
Если это работает, то о чем вы спрашиваете? –
Хотелось бы знать, является ли это правильным методом реализации X509. Я немного читал X509, и было упомянуто, что существует необходимость в CA. Это автогенерируется устройством, так как я ничего не указывал? – Caulibeam