При создании пользователя я создаю KeyPair
. Загрузка publi c one на Firebase
, private остается на устройстве. Эти ключи будут использоваться для шифрования сообщений.
Проблема в следующем: если пользователь войдет в систему на новом устройстве, я должен создать новое KeyPair
. Потому что метод ниже не даст мне ничего.
Так что я хочу синхронизировать c KeyPair
, используя SyncAdapter
. Есть много SyncAdapter
примеров, но ни один из них не показывает onPerformSync()
часть или как синхронизировать c даже простую строку. Так как же?
KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
Calendar notBefore = Calendar.getInstance();
Calendar notAfter = Calendar.getInstance();
notAfter.add(Calendar.YEAR, 5);
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context)
.setAlias(meItem.getUserID())
.setSubject(new X500Principal("CN=test"))
.setSerialNumber(BigInteger.ONE)
.setStartDate(notBefore.getTime())
.setEndDate(notAfter.getTime())
.build();
generator.initialize(spec);
return generator.generateKeyPair();