@Override
  public void processPacket(Stanza packet) {
    LOGGER.info("got public key: " + StringUtils.abbreviate(packet.toXML().toString(), 300));

    PublicKeyPublish publicKeyPacket = (PublicKeyPublish) packet;

    if (publicKeyPacket.getType() == IQ.Type.set) {
      LOGGER.warning("ignoring public key packet with type 'set'");
      return;
    }

    if (publicKeyPacket.getType() == IQ.Type.result) {
      byte[] keyData = publicKeyPacket.getPublicKey();
      if (keyData == null) {
        LOGGER.warning("got public key packet without public key");
        return;
      }
      mControl.setPGPKey(publicKeyPacket.getFrom(), keyData);
    }
  }