using System; using Org.BouncyCastle.Asn1; namespace Org.BouncyCastle.Asn1.Misc { public class IdeaCbcPar : Asn1Encodable { internal Asn1OctetString iv; public static IdeaCbcPar GetInstance( object o) { if (o is IdeaCbcPar) { return (IdeaCbcPar) o; } if (o is Asn1Sequence) { return new IdeaCbcPar((Asn1Sequence) o); } throw new ArgumentException("unknown object in IDEACBCPar factory"); } public IdeaCbcPar( byte[] iv) { this.iv = new DerOctetString(iv); } private IdeaCbcPar( Asn1Sequence seq) { if (seq.Count == 1) { iv = (Asn1OctetString) seq[0]; } } public byte[] GetIV() { return iv == null ? null : iv.GetOctets(); } /** * Produce an object suitable for an Asn1OutputStream. *
* IDEA-CBCPar ::= Sequence {
* iv OCTET STRING OPTIONAL -- exactly 8 octets
* }
*
*/
public override Asn1Object ToAsn1Object()
{
Asn1EncodableVector v = new Asn1EncodableVector();
if (iv != null)
{
v.Add(iv);
}
return new DerSequence(v);
}
}
}