org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithm()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(95)

本文整理了Java中org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getAlgorithm()方法的一些代码示例,展示了SubjectPublicKeyInfo.getAlgorithm()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SubjectPublicKeyInfo.getAlgorithm()方法的具体详情如下:
包路径:org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
类名称:SubjectPublicKeyInfo
方法名:getAlgorithm

SubjectPublicKeyInfo.getAlgorithm介绍

暂无

代码示例

代码示例来源:origin: apache/pdfbox

private KeyTransRecipientInfo computeRecipientInfo(X509Certificate x509certificate, byte[] abyte0)
  throws IOException, CertificateEncodingException, InvalidKeyException,
    BadPaddingException, IllegalBlockSizeException
{
  TBSCertificate certificate;
  try (ASN1InputStream input = new ASN1InputStream(x509certificate.getTBSCertificate()))
  {
    certificate = TBSCertificate.getInstance(input.readObject());
  }
  AlgorithmIdentifier algorithmId = certificate.getSubjectPublicKeyInfo().getAlgorithm();
  IssuerAndSerialNumber serial = new IssuerAndSerialNumber(
      certificate.getIssuer(),
      certificate.getSerialNumber().getValue());
  Cipher cipher;
  try
  {
    cipher = Cipher.getInstance(algorithmId.getAlgorithm().getId(),
        SecurityProvider.getProvider());
  }
  catch (NoSuchAlgorithmException | NoSuchPaddingException e)
  {
    // should never happen, if this happens throw IOException instead
    throw new RuntimeException("Could not find a suitable javax.crypto provider", e);
  }
  cipher.init(1, x509certificate.getPublicKey());
  DEROctetString octets = new DEROctetString(cipher.doFinal(abyte0));
  RecipientIdentifier recipientId = new RecipientIdentifier(serial);
  return new KeyTransRecipientInfo(recipientId, algorithmId, octets);
}

代码示例来源:origin: org.xwiki.commons/xwiki-commons-crypto-common

private ASN1ObjectIdentifier getAlgorithmId(ASN1Object keyInfo)
{
  if (keyInfo instanceof PrivateKeyInfo) {
    return ((PrivateKeyInfo) keyInfo).getPrivateKeyAlgorithm().getAlgorithm();
  } else if (keyInfo instanceof SubjectPublicKeyInfo) {
    return ((SubjectPublicKeyInfo) keyInfo).getAlgorithm().getAlgorithm();
  } else {
    throw new IllegalArgumentException("Asymmetric key expected but received: " + keyInfo.getClass().getName());
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

public PublicKey generatePublic(SubjectPublicKeyInfo keyInfo)
  throws IOException
{
  ASN1ObjectIdentifier algOid = keyInfo.getAlgorithm().getAlgorithm();
  if (DSAUtil.isDsaOid(algOid))
  {
    return new BCDSAPublicKey(keyInfo);
  }
  else
  {
    throw new IOException("algorithm identifier " + algOid + " in key not recognised");
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

public static PublicKey getPublicKey(SubjectPublicKeyInfo publicKeyInfo)
  throws IOException
{
  AsymmetricKeyInfoConverter converter = getAsymmetricKeyInfoConverter(publicKeyInfo.getAlgorithm().getAlgorithm());
  if (converter == null)
  {
    return null;
  }
  return converter.generatePublic(publicKeyInfo);
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

public static PublicKey getPublicKey(SubjectPublicKeyInfo publicKeyInfo)
  throws IOException
{
  AsymmetricKeyInfoConverter converter = getAsymmetricKeyInfoConverter(publicKeyInfo.getAlgorithm().getAlgorithm());
  if (converter == null)
  {
    return null;
  }
  return converter.generatePublic(publicKeyInfo);
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
    throws IOException
  {
    return new QTESLAPublicKeyParameters(Utils.qTeslaLookupSecurityCategory(keyInfo.getAlgorithm()), keyInfo.getPublicKeyData().getOctets());
  }
}

代码示例来源:origin: RUB-NDS/TLS-Attacker

public static boolean hasGOSTParameters(Certificate cert) {
  if (cert.isEmpty()) {
    return false;
  }
  SubjectPublicKeyInfo keyInfo = cert.getCertificateAt(0).getSubjectPublicKeyInfo();
  return keyInfo.getAlgorithm().getAlgorithm().equals(CryptoProObjectIdentifiers.gostR3410_94);
}

代码示例来源:origin: RUB-NDS/TLS-Attacker

public static boolean hasGost01EcParameters(Certificate cert) {
  if (cert.isEmpty()) {
    return false;
  }
  SubjectPublicKeyInfo keyInfo = cert.getCertificateAt(0).getSubjectPublicKeyInfo();
  ASN1ObjectIdentifier alg = keyInfo.getAlgorithm().getAlgorithm();
  return alg.equals(CryptoProObjectIdentifiers.gostR3410_2001);
}

代码示例来源:origin: RUB-NDS/TLS-Attacker

public static boolean hasDHParameters(Certificate cert) {
  if (cert.isEmpty()) {
    return false;
  }
  SubjectPublicKeyInfo keyInfo = cert.getCertificateAt(0).getSubjectPublicKeyInfo();
  return keyInfo.getAlgorithm().getAlgorithm().equals(X9ObjectIdentifiers.dhpublicnumber);
}

代码示例来源:origin: RUB-NDS/TLS-Attacker

public static boolean hasECParameters(Certificate cert) {
  if (cert.isEmpty()) {
    return false;
  }
  SubjectPublicKeyInfo keyInfo = cert.getCertificateAt(0).getSubjectPublicKeyInfo();
  if (keyInfo == null) {
    return false;
  }
  return keyInfo.getAlgorithm().getAlgorithm().equals(X9ObjectIdentifiers.id_ecPublicKey);
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

private void init(SubjectPublicKeyInfo keyInfo)
  throws IOException
{
  XMSSMTKeyParams keyParams = XMSSMTKeyParams.getInstance(keyInfo.getAlgorithm().getParameters());
  this.treeDigest = keyParams.getTreeDigest().getAlgorithm();
  this.keyParams = (XMSSMTPublicKeyParameters)PublicKeyFactory.createKey(keyInfo);
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

private void init(SubjectPublicKeyInfo keyInfo)
  throws IOException
{
  this.treeDigest = SPHINCS256KeyParams.getInstance(keyInfo.getAlgorithm().getParameters()).getTreeDigest().getAlgorithm();
  this.params = (SPHINCSPublicKeyParameters)PublicKeyFactory.createKey(keyInfo);
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

private void init(SubjectPublicKeyInfo keyInfo)
  throws IOException
{
  XMSSKeyParams keyParams = XMSSKeyParams.getInstance(keyInfo.getAlgorithm().getParameters());
  this.treeDigest = keyParams.getTreeDigest().getAlgorithm();
  this.keyParams = (XMSSPublicKeyParameters)PublicKeyFactory.createKey(keyInfo);
}

代码示例来源:origin: RUB-NDS/TLS-Attacker

public static boolean hasGost12EcParameters(Certificate cert) {
  if (cert.isEmpty()) {
    return false;
  }
  SubjectPublicKeyInfo keyInfo = cert.getCertificateAt(0).getSubjectPublicKeyInfo();
  ASN1ObjectIdentifier alg = keyInfo.getAlgorithm().getAlgorithm();
  return alg.equals(RosstandartObjectIdentifiers.id_tc26_gost_3410_12_256)
      || alg.equals(RosstandartObjectIdentifiers.id_tc26_gost_3410_12_512);
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

AsymmetricKeyParameter getPublicKeyParameters(SubjectPublicKeyInfo keyInfo, Object defaultParams)
    throws IOException
  {
    return new SPHINCSPublicKeyParameters(keyInfo.getPublicKeyData().getBytes(),
            Utils.sphincs256LookupTreeAlgName(SPHINCS256KeyParams.getInstance(keyInfo.getAlgorithm().getParameters())));
  }
}

代码示例来源: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

private void populateFromPubKeyInfo(SubjectPublicKeyInfo keyInfo)
{
  if (EdECObjectIdentifiers.id_X448.equals(keyInfo.getAlgorithm().getAlgorithm()))
  {
    xdhPublicKey = new X448PublicKeyParameters(keyInfo.getPublicKeyData().getOctets(), 0);
  }
  else
  {
    xdhPublicKey = new X25519PublicKeyParameters(keyInfo.getPublicKeyData().getOctets(), 0);
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

private void populateFromPubKeyInfo(SubjectPublicKeyInfo keyInfo)
{
  if (EdECObjectIdentifiers.id_Ed448.equals(keyInfo.getAlgorithm().getAlgorithm()))
  {
    eddsaPublicKey = new Ed448PublicKeyParameters(keyInfo.getPublicKeyData().getOctets(), 0);
  }
  else
  {
    eddsaPublicKey = new Ed25519PublicKeyParameters(keyInfo.getPublicKeyData().getOctets(), 0);
  }
}

代码示例来源: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

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();
  }
}

相关文章