private static void InnerDataObject2(byte[] cert, EncryptionMethod p, DerWriter wr)
 {
     wr.WriteOID(PKCS7Data);
     using (wr.BeginTaggedObject(0))
     {
         using (wr.BeginOctetString())
         {
             using (wr.BeginSequence())
             {
                 using (wr.BeginSequence())
                 {
                     WriteCertBag(cert, p, wr);
                 }
             }
         }
     }
 }
 private static void InnerDataObject1(EncryptionMethod p, DerWriter wr)
 {
     wr.WriteOID(PKCS7Data);
     using (wr.BeginTaggedObject(0))
     {
         using (wr.BeginOctetString())
         {
             using (wr.BeginSequence())
             {
                 using (wr.BeginSequence())
                 {
                     WriteKeyBag(p, wr);
                 }
             }
         }
     }
 }
            public override void WritePrivateKey(DerWriter wr)
            {
                wr.WriteInteger(0);
                using (wr.BeginSequence())
                {
                    wr.WriteOID(EcPublicKey);
                    wr.WriteOID(m_curveOID);
                }

                using (wr.BeginOctetString())
                {
                    using (wr.BeginSequence())
                    {
                        wr.WriteInteger(1);
                        wr.WriteOctetString(d);
                        using (wr.BeginTaggedObject(0))
                        {
                            wr.WriteOID(m_curveOID);
                        }
                    }
                }
            }
            public override void WritePrivateKey(DerWriter wr)
            {
                wr.WriteInteger(0);
                using (wr.BeginSequence())
                {
                    wr.WriteOID(RsaEncryption);
                }

                using (wr.BeginOctetString())
                {
                    using (wr.BeginSequence())
                    {
                        wr.WriteInteger(0);
                        wr.WriteInteger(m_parameters.Modulus);
                        wr.WriteInteger(m_parameters.Exponent);
                        wr.WriteInteger(m_parameters.D);
                        wr.WriteInteger(m_parameters.P);
                        wr.WriteInteger(m_parameters.Q);
                        wr.WriteInteger(m_parameters.DP);
                        wr.WriteInteger(m_parameters.DQ);
                        wr.WriteInteger(m_parameters.InverseQ);
                    }
                }
            }