Class ECUtil
- java.lang.Object
-
- org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil
-
public class ECUtil extends java.lang.Objectutility class for converting jce/jca ECDSA, ECDH, and ECDHC objects into their org.bouncycastle.crypto counterparts.
-
-
Constructor Summary
Constructors Constructor Description ECUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringgenerateKeyFingerprint(ECPoint publicPoint, ECParameterSpec spec)static AsymmetricKeyParametergeneratePrivateKeyParameter(java.security.PrivateKey key)static AsymmetricKeyParametergeneratePublicKeyParameter(java.security.PublicKey key)static java.lang.StringgetCurveName(ASN1ObjectIdentifier oid)static ECDomainParametersgetDomainParameters(ProviderConfiguration configuration, X962Parameters params)static ECDomainParametersgetDomainParameters(ProviderConfiguration configuration, ECParameterSpec params)static X9ECParametersgetNamedCurveByName(java.lang.String curveName)static X9ECParametersgetNamedCurveByOid(ASN1ObjectIdentifier oid)static ASN1ObjectIdentifiergetNamedCurveOid(java.lang.String curveName)static ASN1ObjectIdentifiergetNamedCurveOid(ECParameterSpec ecParameterSpec)static java.lang.StringgetNameFrom(java.security.spec.AlgorithmParameterSpec paramSpec)static intgetOrderBitLength(ProviderConfiguration configuration, java.math.BigInteger order, java.math.BigInteger privateValue)static byte[]getUncompressedSubjectPublicKeyBytes(SubjectPublicKeyInfo spki, ProviderConfiguration configuration)Return thesubjectPublicKeybytes of a SubjectPublicKeyInfo with an EC point normalised to its uncompressed encoding, and the bytes of any other key type unchanged.static intprivateKeyHashCode(java.math.BigInteger d, ECParameterSpec spec)Hash code for an EC private scalar derived from the public point and domain parameters.static java.lang.StringprivateKeyToString(java.lang.String algorithm, java.math.BigInteger d, ECParameterSpec spec)static java.lang.StringpublicKeyToString(java.lang.String algorithm, ECPoint q, ECParameterSpec spec)
-
-
-
Method Detail
-
getDomainParameters
public static ECDomainParameters getDomainParameters(ProviderConfiguration configuration, ECParameterSpec params)
-
getDomainParameters
public static ECDomainParameters getDomainParameters(ProviderConfiguration configuration, X962Parameters params)
-
generatePublicKeyParameter
public static AsymmetricKeyParameter generatePublicKeyParameter(java.security.PublicKey key) throws java.security.InvalidKeyException
- Throws:
java.security.InvalidKeyException
-
generatePrivateKeyParameter
public static AsymmetricKeyParameter generatePrivateKeyParameter(java.security.PrivateKey key) throws java.security.InvalidKeyException
- Throws:
java.security.InvalidKeyException
-
getOrderBitLength
public static int getOrderBitLength(ProviderConfiguration configuration, java.math.BigInteger order, java.math.BigInteger privateValue)
-
getNamedCurveOid
public static ASN1ObjectIdentifier getNamedCurveOid(java.lang.String curveName)
-
getNamedCurveOid
public static ASN1ObjectIdentifier getNamedCurveOid(ECParameterSpec ecParameterSpec)
-
getUncompressedSubjectPublicKeyBytes
public static byte[] getUncompressedSubjectPublicKeyBytes(SubjectPublicKeyInfo spki, ProviderConfiguration configuration)
Return thesubjectPublicKeybytes of a SubjectPublicKeyInfo with an EC point normalised to its uncompressed encoding, and the bytes of any other key type unchanged.The composite drafts (draft-ietf-lamps-pq-composite-sigs / -kem sec. 4) require an EC component to be carried as an uncompressed point, so a component key that would encode itself compressed - a BC EC key whose point format has been set through
ECPointEncoder, or a key from a provider that preserves a compressed encoding - has to be normalised on the way out rather than passed through as it came. This is a write-side normalisation only: a compressed component is still accepted on decode, as the component key factories decode either form.- Parameters:
spki- the key to take the component bytes from.configuration- provider configuration, consulted only for implicitlyCA and additional curve parameters.- Returns:
- the component key bytes, uncompressed if they are an EC point.
-
getNamedCurveByOid
public static X9ECParameters getNamedCurveByOid(ASN1ObjectIdentifier oid)
-
getNamedCurveByName
public static X9ECParameters getNamedCurveByName(java.lang.String curveName)
-
getCurveName
public static java.lang.String getCurveName(ASN1ObjectIdentifier oid)
-
privateKeyToString
public static java.lang.String privateKeyToString(java.lang.String algorithm, java.math.BigInteger d, ECParameterSpec spec)
-
publicKeyToString
public static java.lang.String publicKeyToString(java.lang.String algorithm, ECPoint q, ECParameterSpec spec)
-
generateKeyFingerprint
public static java.lang.String generateKeyFingerprint(ECPoint publicPoint, ECParameterSpec spec)
-
getNameFrom
public static java.lang.String getNameFrom(java.security.spec.AlgorithmParameterSpec paramSpec)
-
privateKeyHashCode
public static int privateKeyHashCode(java.math.BigInteger d, ECParameterSpec spec)Hash code for an EC private scalar derived from the public point and domain parameters.
-
-