本文整理汇总了Java中org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves类的典型用法代码示例。如果您正苦于以下问题:Java ECGOST3410NamedCurves类的具体用法?Java ECGOST3410NamedCurves怎么用?Java ECGOST3410NamedCurves使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ECGOST3410NamedCurves类属于org.bouncycastle.asn1.cryptopro包,在下文中一共展示了ECGOST3410NamedCurves类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNamedCurveOid
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
public static ASN1ObjectIdentifier getNamedCurveOid(
String name)
{
ASN1ObjectIdentifier oid = X962NamedCurves.getOID(name);
if (oid == null)
{
oid = SECNamedCurves.getOID(name);
if (oid == null)
{
oid = NISTNamedCurves.getOID(name);
}
if (oid == null)
{
oid = TeleTrusTNamedCurves.getOID(name);
}
if (oid == null)
{
oid = ECGOST3410NamedCurves.getOID(name);
}
}
return oid;
}
示例2: getCurveName
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
public static String getCurveName(
ASN1ObjectIdentifier oid)
{
String name = X962NamedCurves.getName(oid);
if (name == null)
{
name = SECNamedCurves.getName(oid);
if (name == null)
{
name = NISTNamedCurves.getName(oid);
}
if (name == null)
{
name = TeleTrusTNamedCurves.getName(oid);
}
if (name == null)
{
name = ECGOST3410NamedCurves.getName(oid);
}
}
return name;
}
示例3: getParameterSpec
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
/**
* return a parameter spec representing the passed in named
* curve. The routine returns null if the curve is not present.
*
* @param name the name of the curve requested
* @return a parameter spec for the curve, null if it is not available.
*/
public static ECNamedCurveParameterSpec getParameterSpec(
String name)
{
ECDomainParameters ecP = ECGOST3410NamedCurves.getByName(name);
if (ecP == null)
{
try
{
ecP = ECGOST3410NamedCurves.getByOID(new ASN1ObjectIdentifier(name));
}
catch (IllegalArgumentException e)
{
return null; // not an oid.
}
}
if (ecP == null)
{
return null;
}
return new ECNamedCurveParameterSpec(
name,
ecP.getCurve(),
ecP.getG(),
ecP.getN(),
ecP.getH(),
ecP.getSeed());
}
示例4: getName
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
/**
* return a X9ECParameters object representing the passed in named
* curve.
*
* @param oid the object id of the curve requested
* @return a standard name for the curve.
*/
public static String getName(
ASN1ObjectIdentifier oid)
{
String name = NISTNamedCurves.getName(oid);
if (name == null)
{
name = SECNamedCurves.getName(oid);
}
if (name == null)
{
name = TeleTrusTNamedCurves.getName(oid);
}
if (name == null)
{
name = X962NamedCurves.getName(oid);
}
if (name == null)
{
name = ECGOST3410NamedCurves.getName(oid);
}
return name;
}
示例5: lookupOidByName
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
private static ASN1ObjectIdentifier lookupOidByName(String name)
{
ASN1ObjectIdentifier oid = X962NamedCurves.getOID(name);
if (oid == null)
{
oid = SECNamedCurves.getOID(name);
if (oid == null)
{
oid = NISTNamedCurves.getOID(name);
}
if (oid == null)
{
oid = TeleTrusTNamedCurves.getOID(name);
}
if (oid == null)
{
oid = ECGOST3410NamedCurves.getOID(name);
}
if (oid == null)
{
oid = ANSSINamedCurves.getOID(name);
}
}
return oid;
}
示例6: populateFromPubKeyInfo
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
private void populateFromPubKeyInfo(SubjectPublicKeyInfo info)
{
DERBitString bits = info.getPublicKeyData();
ASN1OctetString key;
this.algorithm = "ECGOST3410";
try
{
key = (ASN1OctetString)ASN1Primitive.fromByteArray(bits.getBytes());
}
catch (IOException ex)
{
throw new IllegalArgumentException("error recovering public key");
}
byte[] keyEnc = key.getOctets();
byte[] x = new byte[32];
byte[] y = new byte[32];
for (int i = 0; i != x.length; i++)
{
x[i] = keyEnc[32 - 1 - i];
}
for (int i = 0; i != y.length; i++)
{
y[i] = keyEnc[64 - 1 - i];
}
gostParams = GOST3410PublicKeyAlgParameters.getInstance(info.getAlgorithm().getParameters());
ECNamedCurveParameterSpec spec = ECGOST3410NamedCurveTable.getParameterSpec(ECGOST3410NamedCurves.getName(gostParams.getPublicKeyParamSet()));
ECCurve curve = spec.getCurve();
EllipticCurve ellipticCurve = EC5Util.convertCurve(curve, spec.getSeed());
this.q = curve.createPoint(new BigInteger(1, x), new BigInteger(1, y));
ecSpec = new ECNamedCurveSpec(
ECGOST3410NamedCurves.getName(gostParams.getPublicKeyParamSet()),
ellipticCurve,
new ECPoint(
spec.getG().getAffineXCoord().toBigInteger(),
spec.getG().getAffineYCoord().toBigInteger()),
spec.getN(), spec.getH());
}
示例7: performTest
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
public void performTest()
throws Exception
{
testCurve("prime192v1"); // X9.62
testCurve("sect571r1"); // sec
testCurve("secp224r1");
testCurve("B-409"); // nist
testCurve("P-521");
testCurve("brainpoolp160r1"); // TeleTrusT
for (Enumeration en = X962NamedCurves.getNames(); en.hasMoreElements();)
{
testECDSA((String)en.nextElement());
}
// these curves can't be used under JDK 1.5
Set problemCurves = new HashSet();
problemCurves.add("secp256k1");
problemCurves.add("secp160k1");
problemCurves.add("secp224k1");
problemCurves.add("secp192k1");
for (Enumeration en = SECNamedCurves.getNames(); en.hasMoreElements();)
{
String curveName = (String)en.nextElement();
if (!problemCurves.contains(curveName))
{
testECDSA(curveName);
}
}
for (Enumeration en = TeleTrusTNamedCurves.getNames(); en.hasMoreElements();)
{
testECDSA((String)en.nextElement());
}
for (Enumeration en = ECGOST3410NamedCurves.getNames(); en.hasMoreElements();)
{
testECGOST((String)en.nextElement());
}
}
示例8: populateFromPubKeyInfo
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
private void populateFromPubKeyInfo(SubjectPublicKeyInfo info)
{
DERBitString bits = info.getPublicKeyData();
ASN1OctetString key;
this.algorithm = "ECGOST3410";
try
{
key = (ASN1OctetString)ASN1Primitive.fromByteArray(bits.getBytes());
}
catch (IOException ex)
{
throw new IllegalArgumentException("error recovering public key");
}
byte[] keyEnc = key.getOctets();
byte[] x = new byte[32];
byte[] y = new byte[32];
for (int i = 0; i != x.length; i++)
{
x[i] = keyEnc[32 - 1 - i];
}
for (int i = 0; i != y.length; i++)
{
y[i] = keyEnc[64 - 1 - i];
}
gostParams = GOST3410PublicKeyAlgParameters.getInstance(info.getAlgorithm().getParameters());
ECNamedCurveParameterSpec spec = ECGOST3410NamedCurveTable.getParameterSpec(ECGOST3410NamedCurves.getName(gostParams.getPublicKeyParamSet()));
ECCurve curve = spec.getCurve();
EllipticCurve ellipticCurve = EC5Util.convertCurve(curve, spec.getSeed());
this.q = curve.createPoint(new BigInteger(1, x), new BigInteger(1, y));
ecSpec = new ECNamedCurveSpec(
ECGOST3410NamedCurves.getName(gostParams.getPublicKeyParamSet()),
ellipticCurve,
new ECPoint(
spec.getG().getX().toBigInteger(),
spec.getG().getY().toBigInteger()),
spec.getN(), spec.getH());
}
示例9: getNames
import org.bouncycastle.asn1.cryptopro.ECGOST3410NamedCurves; //导入依赖的package包/类
/**
* return an enumeration of the names of the available curves.
*
* @return an enumeration of the names of the available curves.
*/
public static Enumeration getNames()
{
return ECGOST3410NamedCurves.getNames();
}