Crypto.decodePublicKey - corda

corda / net.corda.core.crypto / Crypto / decodePublicKey

# decodePublicKey

`@JvmStatic fun decodePublicKey(encodedKey: ByteArray): PublicKey`

Decode an X509 encoded key to its PublicKey object. Use this method if the key type is a-priori unknown.

### Parameters

`encodedKey` - an X509 encoded public key.

### Exceptions

`IllegalArgumentException` - on not supported scheme or if the given key specification is inappropriate for this key factory to produce a private key.

`@JvmStatic fun decodePublicKey(schemeCodeName: String, encodedKey: ByteArray): PublicKey`

Decode an X509 encoded key to its PrivateKey object based on the input scheme code name. This should be used when the type key is known, e.g. during deserialisation or with key caches or key managers.

### Parameters

`schemeCodeName` - a String that should match a key in supportedSignatureSchemes map (e.g. ECDSA_SECP256K1_SHA256).

`encodedKey` - an X509 encoded public key.

### Exceptions

`IllegalArgumentException` - if the requested scheme is not supported.

`InvalidKeySpecException` - if the given key specification is inappropriate for this key factory to produce a public key.

`@JvmStatic fun decodePublicKey(signatureScheme: SignatureScheme, encodedKey: ByteArray): PublicKey`

Decode an X509 encoded key to its PrivateKey object based on the input scheme code name. This should be used when the type key is known, e.g. during deserialisation or with key caches or key managers.

### Parameters

`signatureScheme` - a signature scheme (e.g. ECDSA_SECP256K1_SHA256).

`encodedKey` - an X509 encoded public key.

### Exceptions

`IllegalArgumentException` - if the requested scheme is not supported.

`InvalidKeySpecException` - if the given key specification is inappropriate for this key factory to produce a public key.