diff options
Diffstat (limited to 'libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java')
-rw-r--r-- | libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java b/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java deleted file mode 100644 index 131b1899f..000000000 --- a/libraries/spongycastle/core/src/main/java/org/spongycastle/asn1/cms/GCMParameters.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.spongycastle.asn1.cms; - -import org.spongycastle.asn1.ASN1EncodableVector; -import org.spongycastle.asn1.ASN1Integer; -import org.spongycastle.asn1.ASN1Object; -import org.spongycastle.asn1.ASN1OctetString; -import org.spongycastle.asn1.ASN1Primitive; -import org.spongycastle.asn1.ASN1Sequence; -import org.spongycastle.asn1.DEROctetString; -import org.spongycastle.asn1.DERSequence; -import org.spongycastle.util.Arrays; - -/** - * <a href="http://tools.ietf.org/html/rfc5084">RFC 5084</a>: GCMParameters object. - * <p> - * <pre> - GCMParameters ::= SEQUENCE { - aes-nonce OCTET STRING, -- recommended size is 12 octets - aes-ICVlen AES-GCM-ICVlen DEFAULT 12 } - * </pre> - */ -public class GCMParameters - extends ASN1Object -{ - private byte[] nonce; - private int icvLen; - - /** - * Return an GCMParameters object from the given object. - * <p> - * Accepted inputs: - * <ul> - * <li> null → null - * <li> {@link org.spongycastle.asn1.cms.GCMParameters} object - * <li> {@link org.spongycastle.asn1.ASN1Sequence#getInstance(Object) ASN1Sequence} input formats with GCMParameters structure inside - * </ul> - * - * @param obj the object we want converted. - * @exception IllegalArgumentException if the object cannot be converted. - */ - public static GCMParameters getInstance( - Object obj) - { - if (obj instanceof GCMParameters) - { - return (GCMParameters)obj; - } - else if (obj != null) - { - return new GCMParameters(ASN1Sequence.getInstance(obj)); - } - - return null; - } - - private GCMParameters( - ASN1Sequence seq) - { - this.nonce = ASN1OctetString.getInstance(seq.getObjectAt(0)).getOctets(); - - if (seq.size() == 2) - { - this.icvLen = ASN1Integer.getInstance(seq.getObjectAt(1)).getValue().intValue(); - } - else - { - this.icvLen = 12; - } - } - - public GCMParameters( - byte[] nonce, - int icvLen) - { - this.nonce = Arrays.clone(nonce); - this.icvLen = icvLen; - } - - public byte[] getNonce() - { - return Arrays.clone(nonce); - } - - public int getIcvLen() - { - return icvLen; - } - - public ASN1Primitive toASN1Primitive() - { - ASN1EncodableVector v = new ASN1EncodableVector(); - - v.add(new DEROctetString(nonce)); - - if (icvLen != 12) - { - v.add(new ASN1Integer(icvLen)); - } - - return new DERSequence(v); - } -} |