public class EcKey extends Object implements IKey
| Modifier and Type | Field and Description |
|---|---|
protected String |
_signatureAlgorithm |
static Map<JsonWebKeyCurveName,String> |
CURVE_TO_SIGNATURE |
static Map<JsonWebKeyCurveName,String> |
CURVE_TO_SPEC_NAME |
protected String |
defaultEncryptionAlgorithm |
static String |
P256 |
static String |
P256K |
static String |
P384 |
static String |
P521 |
| Constructor and Description |
|---|
EcKey()
Constructor.
|
EcKey(String kid)
Constructor.
|
EcKey(String kid,
JsonWebKeyCurveName curve)
Constructor.
|
EcKey(String kid,
JsonWebKeyCurveName curve,
Provider provider)
Constructor.
|
EcKey(String kid,
KeyPair keyPair)
Constructor.
|
EcKey(String kid,
KeyPair keyPair,
Provider provider)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
com.google.common.util.concurrent.ListenableFuture<byte[]> |
decryptAsync(byte[] ciphertext,
byte[] iv,
byte[] authenticationData,
byte[] authenticationTag,
String algorithm) |
com.google.common.util.concurrent.ListenableFuture<org.apache.commons.lang3.tuple.Triple<byte[],byte[],String>> |
encryptAsync(byte[] plaintext,
byte[] iv,
byte[] authenticationData,
String algorithm) |
static EcKey |
fromJsonWebKey(JsonWebKey jwk)
Converts JSON web key to EC key pair, does not include the private key.
|
static EcKey |
fromJsonWebKey(JsonWebKey jwk,
boolean includePrivateParameters)
Converts JSON web key to EC key pair and include the private key if set to true.
|
static EcKey |
fromJsonWebKey(JsonWebKey jwk,
boolean includePrivateParameters,
Provider provider)
Converts JSON web key to EC key pair and include the private key if set to true.
|
JsonWebKeyCurveName |
getCurve() |
static JsonWebKeyCurveName |
getDefaultCurve() |
String |
getDefaultEncryptionAlgorithm() |
String |
getDefaultKeyWrapAlgorithm() |
String |
getDefaultSignatureAlgorithm() |
KeyPair |
getKeyPair() |
String |
getKid() |
com.google.common.util.concurrent.ListenableFuture<org.apache.commons.lang3.tuple.Pair<byte[],String>> |
signAsync(byte[] digest,
String algorithm) |
JsonWebKey |
toJsonWebKey()
Converts EcKey to JSON web key.
|
com.google.common.util.concurrent.ListenableFuture<byte[]> |
unwrapKeyAsync(byte[] encryptedKey,
String algorithm) |
com.google.common.util.concurrent.ListenableFuture<Boolean> |
verifyAsync(byte[] digest,
byte[] signature,
String algorithm) |
com.google.common.util.concurrent.ListenableFuture<org.apache.commons.lang3.tuple.Pair<byte[],String>> |
wrapKeyAsync(byte[] key,
String algorithm) |
public static final String P256
public static final String P384
public static final String P521
public static final String P256K
public static final Map<JsonWebKeyCurveName,String> CURVE_TO_SIGNATURE
public static final Map<JsonWebKeyCurveName,String> CURVE_TO_SPEC_NAME
protected final String _signatureAlgorithm
protected String defaultEncryptionAlgorithm
public EcKey()
throws NoSuchAlgorithmException,
InvalidAlgorithmParameterException
public EcKey(String kid) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
kid - NoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionpublic EcKey(String kid, JsonWebKeyCurveName curve) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
kid - curve - NoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionpublic EcKey(String kid, JsonWebKeyCurveName curve, Provider provider) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
kid - curve - provider - Java security providerInvalidAlgorithmParameterExceptionNoSuchAlgorithmExceptionpublic EcKey(String kid, KeyPair keyPair) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
kid - keyPair - NoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionpublic EcKey(String kid, KeyPair keyPair, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
kid - keyPair - provider - Java security providerNoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionpublic static JsonWebKeyCurveName getDefaultCurve()
public static EcKey fromJsonWebKey(JsonWebKey jwk) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException
jwk - NoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionInvalidKeySpecExceptionNoSuchProviderExceptionpublic static EcKey fromJsonWebKey(JsonWebKey jwk, boolean includePrivateParameters) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException
jwk - includePrivateParameters - true if the EC key pair should include the private key. False otherwise.NoSuchAlgorithmExceptionInvalidAlgorithmParameterExceptionInvalidKeySpecExceptionNoSuchProviderExceptionpublic static EcKey fromJsonWebKey(JsonWebKey jwk, boolean includePrivateParameters, Provider provider)
jwk - includePrivateParameters - true if the EC key pair should include the private key. False otherwise.provider - the Java Security Providerpublic JsonWebKey toJsonWebKey()
public JsonWebKeyCurveName getCurve()
public KeyPair getKeyPair()
public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionpublic String getDefaultEncryptionAlgorithm()
getDefaultEncryptionAlgorithm in interface IKeypublic String getDefaultKeyWrapAlgorithm()
getDefaultKeyWrapAlgorithm in interface IKeypublic String getDefaultSignatureAlgorithm()
getDefaultSignatureAlgorithm in interface IKeypublic com.google.common.util.concurrent.ListenableFuture<byte[]> decryptAsync(byte[] ciphertext,
byte[] iv,
byte[] authenticationData,
byte[] authenticationTag,
String algorithm)
throws NoSuchAlgorithmException
decryptAsync in interface IKeyNoSuchAlgorithmExceptionpublic com.google.common.util.concurrent.ListenableFuture<org.apache.commons.lang3.tuple.Triple<byte[],byte[],String>> encryptAsync(byte[] plaintext, byte[] iv, byte[] authenticationData, String algorithm) throws NoSuchAlgorithmException
encryptAsync in interface IKeyNoSuchAlgorithmExceptionpublic com.google.common.util.concurrent.ListenableFuture<org.apache.commons.lang3.tuple.Pair<byte[],String>> wrapKeyAsync(byte[] key, String algorithm) throws NoSuchAlgorithmException
wrapKeyAsync in interface IKeyNoSuchAlgorithmExceptionpublic com.google.common.util.concurrent.ListenableFuture<byte[]> unwrapKeyAsync(byte[] encryptedKey,
String algorithm)
throws NoSuchAlgorithmException
unwrapKeyAsync in interface IKeyNoSuchAlgorithmExceptionpublic com.google.common.util.concurrent.ListenableFuture<org.apache.commons.lang3.tuple.Pair<byte[],String>> signAsync(byte[] digest, String algorithm) throws NoSuchAlgorithmException
signAsync in interface IKeyNoSuchAlgorithmExceptionpublic com.google.common.util.concurrent.ListenableFuture<Boolean> verifyAsync(byte[] digest, byte[] signature, String algorithm) throws NoSuchAlgorithmException
verifyAsync in interface IKeyNoSuchAlgorithmException/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/