![JAR search and dependency download from the Maven repository](/logo.png)
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.
The newest version!
package org.bouncycastle.bcpg.sig;
import org.bouncycastle.bcpg.SignatureSubpacket;
import org.bouncycastle.bcpg.SignatureSubpacketTags;
import org.bouncycastle.util.Strings;
/**
* Signature Subpacket for encoding the reason why a key was revoked.
*
* @see
* RFC4880 - Reason for Revocation
* @see
* RFC9580 - Reason for Revocation
*/
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 - 2025 Weber Informatics LLC | Privacy Policy