package org.bouncycastle.openpgp.operator.jcajce; import java.io.IOException; import java.math.BigInteger; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import org.bouncycastle.asn1.ASN1ObjectIdentifier; import org.bouncycastle.asn1.x9.ECNamedCurveTable; import org.bouncycastle.asn1.x9.X9ECParameters; import org.bouncycastle.math.ec.ECCurve; import org.bouncycastle.math.ec.ECPoint; import org.bouncycastle.openpgp.PGPException; import org.bouncycastle.util.BigIntegers; /** * Basic utility class */ class JcaJcePGPUtil { public static SecretKey makeSymmetricKey( int algorithm, byte[] keyBytes) throws PGPException { String algName = org.bouncycastle.openpgp.PGPUtil.getSymmetricCipherName(algorithm); if (algName == null) { throw new PGPException("unknown symmetric algorithm: " + algorithm); } return new SecretKeySpec(keyBytes, algName); } static ECPoint decodePoint( BigInteger encodedPoint, ECCurve curve) throws IOException { return curve.decodePoint(BigIntegers.asUnsignedByteArray(encodedPoint)); } static X9ECParameters getX9Parameters(ASN1ObjectIdentifier curveOID) { return ECNamedCurveTable.getByOID(curveOID); } }