object CryptoProvider
- Alphabetic
- By Inheritance
- CryptoProvider
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit val cryptoProviderCantonConfigValidator: CantonConfigValidator[CryptoProvider]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- case object Jce extends CryptoProvider with UniformCantonConfigValidation with Product with Serializable
- case object Kms extends CryptoProvider with UniformCantonConfigValidation with Product with Serializable
The KMS crypto provider is based on the JCE crypto provider because the non-signing/encryption part, as well as the public crypto operations (i.e., encrypting, or verifying a signature), are implemented in software using the JCE.
The KMS crypto provider is based on the JCE crypto provider because the non-signing/encryption part, as well as the public crypto operations (i.e., encrypting, or verifying a signature), are implemented in software using the JCE.
We select com.digitalasset.canton.crypto.SigningAlgorithmSpec.EcDsaSha256 and com.digitalasset.canton.crypto.EncryptionAlgorithmSpec.RsaOaepSha256 as the default signing/encryption algorithm specifications for a KMS provider, because some proprietary KMS instances, such as AWS, do not support
Ed25519orEciescrypto algorithms. The same applies to the key specifications. However, if the chosen KMS supports any of these algorithms, the default scheme can be configured accordingly.