本文整理了Java中org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.parsePublicKey()
方法的一些代码示例,展示了SubjectPublicKeyInfo.parsePublicKey()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SubjectPublicKeyInfo.parsePublicKey()
方法的具体详情如下:
包路径:org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
类名称:SubjectPublicKeyInfo
方法名:parsePublicKey
[英]for when the public key is an encoded object - if the bitstring can't be decoded this routine throws an IOException.
[中]因为,当公钥是一个编码对象时——如果无法解码位字符串,该例程将抛出IOException。
代码示例来源:origin: stackoverflow.com
byte[] encoded = publicKey.getEncoded();
SubjectPublicKeyInfo subjectPublicKeyInfo = new SubjectPublicKeyInfo(
ASN1Sequence.getInstance(encoded));
byte[] otherEncoded = subjectPublicKeyInfo.parsePublicKey().getEncoded();
代码示例来源:origin: stackoverflow.com
PublicKey pub = pair.getPublic();
byte[] pubBytes = pub.getEncoded();
SubjectPublicKeyInfo spkInfo = SubjectPublicKeyInfo.getInstance(pubBytes);
ASN1Primitive primitive = spkInfo.parsePublicKey();
byte[] publicKeyPKCS1 = primitive.getEncoded();
代码示例来源:origin: cn.home1/oss-lib-common-spring-boot-1.4.2.RELEASE
@SneakyThrows
public static String convertPublicKeyFromX509ToPkcs1Pem(final byte[] publicKeyX509) {
// Convert public key from X.509 SubjectPublicKeyInfo to PKCS1:
final ASN1Primitive publicKeyPrimitive = SubjectPublicKeyInfo.getInstance(publicKeyX509).parsePublicKey();
return pem(publicKeyPrimitive.getEncoded(), RsaKey.KEY_FORMAT_PKCS1, RsaKey.KEY_TYPE_PUBLIC);
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
JCERSAPublicKey(
SubjectPublicKeyInfo info)
{
try
{
org.bouncycastle.asn1.pkcs.RSAPublicKey pubKey = org.bouncycastle.asn1.pkcs.RSAPublicKey.getInstance(info.parsePublicKey());
this.modulus = pubKey.getModulus();
this.publicExponent = pubKey.getPublicExponent();
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in RSA public key");
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
private void populateFromPublicKeyInfo(SubjectPublicKeyInfo info)
{
try
{
org.bouncycastle.asn1.pkcs.RSAPublicKey pubKey = org.bouncycastle.asn1.pkcs.RSAPublicKey.getInstance(info.parsePublicKey());
this.algorithmIdentifier = info.getAlgorithm();
this.modulus = pubKey.getModulus();
this.publicExponent = pubKey.getPublicExponent();
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in RSA public key");
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
RSAPublicKey pubKey = RSAPublicKey.getInstance(keyInfo.parsePublicKey());
return new RSAKeyParameters(false, pubKey.getModulus(), pubKey.getPublicExponent());
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
BCGOST3410PublicKey(
SubjectPublicKeyInfo info)
{
GOST3410PublicKeyAlgParameters params = GOST3410PublicKeyAlgParameters.getInstance(info.getAlgorithm().getParameters());
DEROctetString derY;
try
{
derY = (DEROctetString)info.parsePublicKey();
byte[] keyEnc = derY.getOctets();
byte[] keyBytes = new byte[keyEnc.length];
for (int i = 0; i != keyEnc.length; i++)
{
keyBytes[i] = keyEnc[keyEnc.length - 1 - i]; // was little endian
}
this.y = new BigInteger(1, keyBytes);
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in GOST3410 public key");
}
this.gost3410Spec = GOST3410ParameterSpec.fromPublicKeyAlg(params);
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
JCEElGamalPublicKey(
SubjectPublicKeyInfo info)
{
ElGamalParameter params = ElGamalParameter.getInstance(info.getAlgorithm().getParameters());
ASN1Integer derY = null;
try
{
derY = (ASN1Integer)info.parsePublicKey();
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in DSA public key");
}
this.y = derY.getValue();
this.elSpec = new ElGamalParameterSpec(params.getP(), params.getG());
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
public PublicKey generatePublic(SubjectPublicKeyInfo keyInfo)
throws IOException
{
RainbowPublicKey pKey = RainbowPublicKey.getInstance(keyInfo.parsePublicKey());
return new BCRainbowPublicKey(pKey.getDocLength(), pKey.getCoeffQuadratic(), pKey.getCoeffSingular(), pKey.getCoeffScalar());
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
BCElGamalPublicKey(
SubjectPublicKeyInfo info)
{
ElGamalParameter params = ElGamalParameter.getInstance(info.getAlgorithm().getParameters());
ASN1Integer derY = null;
try
{
derY = (ASN1Integer)info.parsePublicKey();
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in DSA public key");
}
this.y = derY.getValue();
this.elSpec = new ElGamalParameterSpec(params.getP(), params.getG());
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
DHParameter params = DHParameter.getInstance(keyInfo.getAlgorithm().getParameters());
ASN1Integer derY = (ASN1Integer)keyInfo.parsePublicKey();
BigInteger lVal = params.getL();
int l = lVal == null ? 0 : lVal.intValue();
DHParameters dhParams = new DHParameters(params.getP(), params.getG(), null, l);
return new DHPublicKeyParameters(derY.getValue(), dhParams);
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
public PublicKey generatePublic(SubjectPublicKeyInfo pki)
throws IOException
{
// get the inner type inside the BIT STRING
ASN1Primitive innerType = pki.parsePublicKey();
McEliecePublicKey key = McEliecePublicKey.getInstance(innerType);
return new BCMcEliecePublicKey(new McEliecePublicKeyParameters(key.getN(), key.getT(), key.getG()));
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
ElGamalParameter params = ElGamalParameter.getInstance(keyInfo.getAlgorithm().getParameters());
ASN1Integer derY = (ASN1Integer)keyInfo.parsePublicKey();
return new ElGamalPublicKeyParameters(derY.getValue(), new ElGamalParameters(
params.getP(), params.getG()));
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
JDKDSAPublicKey(
SubjectPublicKeyInfo info)
{
ASN1Integer derY;
try
{
derY = (ASN1Integer)info.parsePublicKey();
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in DSA public key");
}
this.y = derY.getValue();
if (isNotNull(info.getAlgorithm().getParameters()))
{
DSAParameter params = DSAParameter.getInstance(info.getAlgorithm().getParameters());
this.dsaSpec = new DSAParameterSpec(params.getP(), params.getQ(), params.getG());
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
public PublicKey generatePublic(SubjectPublicKeyInfo pki)
throws IOException
{
// get the inner type inside the BIT STRING
ASN1Primitive innerType = pki.parsePublicKey();
McElieceCCA2PublicKey key = McElieceCCA2PublicKey.getInstance(innerType);
return new BCMcElieceCCA2PublicKey(new McElieceCCA2PublicKeyParameters(key.getN(), key.getT(), key.getG(), Utils.getDigest(key.getDigest()).getAlgorithmName()));
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
ASN1Integer derY = (ASN1Integer)keyInfo.parsePublicKey();
ASN1Encodable de = keyInfo.getAlgorithm().getParameters();
DSAParameters parameters = null;
if (de != null)
{
DSAParameter params = DSAParameter.getInstance(de.toASN1Primitive());
parameters = new DSAParameters(params.getP(), params.getQ(), params.getG());
}
return new DSAPublicKeyParameters(derY.getValue(), parameters);
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
public BCDSAPublicKey(
SubjectPublicKeyInfo info)
{
ASN1Integer derY;
try
{
derY = (ASN1Integer)info.parsePublicKey();
}
catch (IOException e)
{
throw new IllegalArgumentException("invalid info structure in DSA public key");
}
this.y = derY.getValue();
if (isNotNull(info.getAlgorithm().getParameters()))
{
DSAParameter params = DSAParameter.getInstance(info.getAlgorithm().getParameters());
this.dsaSpec = new DSAParameterSpec(params.getP(), params.getQ(), params.getG());
}
else
{
this.dsaSpec = null;
}
this.lwKeyParams = new DSAPublicKeyParameters(y, DSAUtil.toDSAParameters(dsaSpec));
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
XMSSKeyParams keyParams = XMSSKeyParams.getInstance(keyInfo.getAlgorithm().getParameters());
ASN1ObjectIdentifier treeDigest = keyParams.getTreeDigest().getAlgorithm();
XMSSPublicKey xmssPublicKey = XMSSPublicKey.getInstance(keyInfo.parsePublicKey());
return new XMSSPublicKeyParameters
.Builder(new XMSSParameters(keyParams.getHeight(), Utils.getDigest(treeDigest)))
.withPublicSeed(xmssPublicKey.getPublicSeed())
.withRoot(xmssPublicKey.getRoot()).build();
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
DHPublicKey dhPublicKey = DHPublicKey.getInstance(keyInfo.parsePublicKey());
BigInteger y = dhPublicKey.getY();
DomainParameters dhParams = DomainParameters.getInstance(keyInfo.getAlgorithm().getParameters());
BigInteger p = dhParams.getP();
BigInteger g = dhParams.getG();
BigInteger q = dhParams.getQ();
BigInteger j = null;
if (dhParams.getJ() != null)
{
j = dhParams.getJ();
}
DHValidationParameters validation = null;
ValidationParams dhValidationParms = dhParams.getValidationParams();
if (dhValidationParms != null)
{
byte[] seed = dhValidationParms.getSeed();
BigInteger pgenCounter = dhValidationParms.getPgenCounter();
// TODO Check pgenCounter size?
validation = new DHValidationParameters(seed, pgenCounter.intValue());
}
return new DHPublicKeyParameters(y, new DHParameters(p, g, q, j, validation));
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
throws IOException
{
XMSSMTKeyParams keyParams = XMSSMTKeyParams.getInstance(keyInfo.getAlgorithm().getParameters());
ASN1ObjectIdentifier treeDigest = keyParams.getTreeDigest().getAlgorithm();
XMSSPublicKey xmssMtPublicKey = XMSSPublicKey.getInstance(keyInfo.parsePublicKey());
return new XMSSMTPublicKeyParameters
.Builder(new XMSSMTParameters(keyParams.getHeight(), keyParams.getLayers(), Utils.getDigest(treeDigest)))
.withPublicSeed(xmssMtPublicKey.getPublicSeed())
.withRoot(xmssMtPublicKey.getRoot()).build();
}
}
内容来源于网络,如有侵权,请联系作者删除!