createApiKey

@JvmStatic
@JvmOverloads
fun <P : ApiKey.Property> RSAKey.Private.createApiKey(keyId: String, properties: Set<P>, daysUntilExpiry: Int, extras: Set<String> = emptySet()): ApiKey<P>(source)

Creates a new ApiKey for provided arguments.

NOTE: This extension function requires a dependency.

See: https://github.com/toxicity-io/crypto

Throws

DestroyedStateException

if the RSAKey.Private is destroyed

InvalidParameterException

when:

  • keyId is blank

  • keyId contains whitespace

  • keyId contains multiple lines

  • keyId contains invalid UTF-8 characters or sequences

  • daysUntilExpiry is less than or equal to 0

  • extras contains a blank value

  • extras contains a value with multiple lines

  • extras contains a value with invalid UTF-8 characters or sequences