Код: Выделить всё
class AppPrivateKey {
private fun loadPrivateKey(): RSAPrivateKey {
val keyFactory = KeyFactory.getInstance("RSA")
val keySpec = PKCS8EncodedKeySpec(this.getPrivateKey())
return keyFactory.generatePrivate(keySpec) as RSAPrivateKey
}
fun signPayload(data: String): ByteArray {
val signature = Signature.getInstance("SHA256withRSA")
signature.initSign(this.loadPrivateKey())
signature.update(data.toByteArray())
signature.update(env.getRsaPassphrase().toByteArray())
return signature.sign()
}
private fun getPrivateKey(): ByteArray {
val pem = """-----BEGIN ENCRYPTED PRIVATE KEY-----
// other key content
-----END ENCRYPTED PRIVATE KEY-----"""
val pemReplaced = pem
.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----", "")
.replace("-----END ENCRYPTED PRIVATE KEY-----", "")
.replace("\n", "")
.replace("\\s".toRegex(), "")
return Base64.getDecoder().decode(pemReplaced)
}
}
код> ошибка. подскажите, пожалуйста, как это сделать правильно?
Подробнее здесь: https://stackoverflow.com/questions/785 ... -in-kotlin