org.bouncycastle.bcpg.sig.RevocationReason Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcpg-jdk14 Show documentation
Show all versions of bcpg-jdk14 Show documentation
The Bouncy Castle Java API for handling the OpenPGP protocol. This jar contains the OpenPGP API for JDK 1.4. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs.
package org.bouncycastle.bcpg.sig;
import org.bouncycastle.bcpg.SignatureSubpacket;
import org.bouncycastle.bcpg.SignatureSubpacketTags;
import org.bouncycastle.util.Strings;
/**
* Represents revocation reason OpenPGP signature sub packet.
*/
public class RevocationReason extends SignatureSubpacket
{
public RevocationReason(boolean isCritical, boolean isLongLength, byte[] data)
{
super(SignatureSubpacketTags.REVOCATION_REASON, isCritical, isLongLength, data);
}
public RevocationReason(boolean isCritical, byte reason, String description)
{
super(SignatureSubpacketTags.REVOCATION_REASON, isCritical, false, createData(reason, description));
}
private static byte[] createData(byte reason, String description)
{
byte[] descriptionBytes = Strings.toUTF8ByteArray(description);
byte[] data = new byte[1 + descriptionBytes.length];
data[0] = reason;
System.arraycopy(descriptionBytes, 0, data, 1, descriptionBytes.length);
return data;
}
public byte getRevocationReason()
{
return getData()[0];
}
public String getRevocationDescription()
{
byte[] data = getData();
if (data.length == 1)
{
return "";
}
byte[] description = new byte[data.length - 1];
System.arraycopy(data, 1, description, 0, description.length);
return Strings.fromUTF8ByteArray(description);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy