📄 x9publickeyinfo.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: X9PublicKeyInfo.java
package jit.asn1.x9;
import jit.asn1.*;
import jit.asn1.x509.AlgorithmIdentifier;
import jit.crypto.params.ECDomainParameters;
import jit.crypto.params.ECPublicKeyParameters;
import jit.math.ec.ECCurve;
import jit.math.ec.ECPoint;
// Referenced classes of package jit.asn1.x9:
// X9ECParameters
public class X9PublicKeyInfo
implements DEREncodable
{
AlgorithmIdentifier algorithmID;
DERBitString publicKey;
public X9PublicKeyInfo()
{
algorithmID = null;
publicKey = null;
}
public X9PublicKeyInfo(AlgorithmIdentifier algorithmID, DERBitString pubKey)
{
this.algorithmID = algorithmID;
publicKey = pubKey;
}
public X9PublicKeyInfo(ASN1Sequence seq)
{
algorithmID = new AlgorithmIdentifier((ASN1Sequence)seq.getObjectAt(0));
DERObjectIdentifier tID = algorithmID.getObjectId();
if(tID.equals("1.2.840.10045.2.1"))
{
throw new IllegalArgumentException("unknown object when creating object");
} else
{
publicKey = (DERBitString)seq.getObjectAt(1);
return;
}
}
public ECDomainParameters getECDomainParameters()
{
ASN1Sequence tX9ECParamsSeq = (ASN1Sequence)algorithmID.getParameters();
X9ECParameters tX9ECParams = new X9ECParameters(tX9ECParamsSeq);
return new ECDomainParameters(tX9ECParams.getCurve(), tX9ECParams.getG(), tX9ECParams.getN(), tX9ECParams.getH(), tX9ECParams.getSeed());
}
public ECPublicKeyParameters getECPublicKeyParameters()
{
ECCurve tECCurve = getECDomainParameters().getCurve();
ECPoint tECPoint = tECCurve.decodePoint(publicKey.getBytes());
return new ECPublicKeyParameters(tECPoint, getECDomainParameters());
}
public static X9PublicKeyInfo getInstance(Object obj)
{
if(obj instanceof X9PublicKeyInfo)
return (X9PublicKeyInfo)obj;
if(obj instanceof ASN1Sequence)
return new X9PublicKeyInfo((ASN1Sequence)obj);
else
throw new IllegalArgumentException("unknown object in factory");
}
public DERObject getDERObject()
{
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(algorithmID);
v.add(publicKey);
return new DERSequence(v);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -