public override void Encode (Goedel.ASN1.Buffer Buffer) {
int Position = Buffer.Encode__Sequence_Start ();
if (Attributes == null || Attributes.Count == 0) {
Buffer.Encode__Object (null, 1, 0);
}
else {
int XPosition = Buffer.Encode__Sequence_Start();
foreach (Goedel.Cryptography.PKIX.AttributeTypeValues _Index in Attributes) {
Buffer.Encode__Object (_Index, 0, 0);
}
Buffer.Encode__Sequence_End(XPosition, 1, 0);
}
Buffer.Debug ("Attributes");
Buffer.Encode__Object (SubjectPublicKeyInfo, 0, -1);
Buffer.Debug ("SubjectPublicKeyInfo");
if (Subject == null || Subject.Count == 0) {
Buffer.Encode__Object (null, 0, -1);
}
else {
int XPosition = Buffer.Encode__Sequence_Start();
foreach (Goedel.Cryptography.PKIX.Name _Index in Subject) {
Buffer.Encode__Object (_Index, 0, 0);
}
Buffer.Encode__Sequence_End(XPosition, 0, -1);
}
Buffer.Debug ("Subject");
Buffer.Encode__Integer (Version, 0, -1);
Buffer.Debug ("Version");
Buffer.Encode__Sequence_End (Position);
}