public function getPublicKey()
{
$pubkey = clone $this->message;
foreach ($pubkey as $key => $val) {
if ($val instanceof OpenPGP_SecretKeyPacket) {
$ob = $val instanceof OpenPGP_SecretSubkeyPacket ? new OpenPGP_PublicSubkeyPacket() : new OpenPGP_PublicKeyPacket();
foreach (array_keys(get_object_vars($ob)) as $key2) {
if ($key2 !== 'tag') {
$ob->{$key2} = $val->{$key2};
}
}
$pubkey[$key] = $ob;
}
}
return new Horde_Pgp_Element_PublicKey($pubkey);
}