Пример #1
0
  private static PGPPublicKey certifiedPublicKey(
      int certificationLevel,
      PGPKeyPair keyPair,
      String id,
      PGPSignatureSubpacketVector hashedPcks,
      PGPSignatureSubpacketVector unhashedPcks,
      PGPContentSignerBuilder certificationSignerBuilder)
      throws PGPException {
    PGPSignatureGenerator sGen;

    try {
      sGen = new PGPSignatureGenerator(certificationSignerBuilder);
    } catch (Exception e) {
      throw new PGPException("creating signature generator: " + e, e);
    }

    //
    // generate the certification
    //
    sGen.init(certificationLevel, keyPair.getPrivateKey());

    sGen.setHashedSubpackets(hashedPcks);
    sGen.setUnhashedSubpackets(unhashedPcks);

    try {
      PGPSignature certification = sGen.generateCertification(id, keyPair.getPublicKey());

      return PGPPublicKey.addCertification(keyPair.getPublicKey(), id, certification);
    } catch (Exception e) {
      throw new PGPException("exception doing certification: " + e, e);
    }
  }