StatelessHmacNonceManager

class StatelessHmacNonceManager(val keySpec: SecretKeySpec, val algorithm: String = "HmacSHA256", val timeoutMillis: Long = 60000, val nonceGenerator: () -> String = { generateNonce() })

Stateless nonce manager implementation with HMAC verification and timeout. Every nonce provided by this manager consist of a random part, timestamp and HMAC.

Constructors

Link copied to clipboard
constructor(key: ByteArray, algorithm: String = "HmacSHA256", timeoutMillis: Long = 60000, nonceGenerator: () -> String = { generateNonce() })

Helper constructor that makes a secret key from key ByteArray

constructor(keySpec: SecretKeySpec, algorithm: String = "HmacSHA256", timeoutMillis: Long = 60000, nonceGenerator: () -> String = { generateNonce() })

Properties

Link copied to clipboard

HMAC algorithm name, HmacSHA256 by default

Link copied to clipboard

secret key spec for HMAC

Link copied to clipboard

function that produces random values

Link copied to clipboard
val timeoutMillis: Long = 60000

specifies the amount of time for a nonce to be considered valid

Functions

Link copied to clipboard
open suspend fun newNonce(): String
Link copied to clipboard
open suspend fun verifyNonce(nonce: String): Boolean