示例#1
0
        private static void WriteKeyBag(EncryptionMethod p, DerWriter wr)
        {
            wr.WriteOID(PKCS12KeyBag);
            using (wr.BeginTaggedObject(0))
            {
                using (wr.BeginSequence())
                {
                    p.WritePrivateKey(wr);
                }
            }

            using (wr.BeginSet())
            {
                using (wr.BeginSequence())
                {
                    wr.WriteOID(PKCS12LocalKeyID);
                    using (wr.BeginSet())
                    {
                        wr.WriteOctetString(new byte[] { 1 });
                    }
                }

                using (wr.BeginSequence())
                {
                    wr.WriteOID(PKCS12FriendlyName);
                    using (wr.BeginSet())
                    {
                        wr.Write("Certificate1");
                    }
                }
            }
        }
示例#2
0
 private static void WriteX509Cert(byte[] cert, EncryptionMethod p, DerWriter wr)
 {
     wr.WriteOID(PKCS12X509Certificate);
     using (wr.BeginTaggedObject(0))
     {
         wr.WriteOctetString(cert);
     }
 }
示例#3
0
            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);
                        }
                    }
                }
            }
示例#4
0
        private static void WriteCertBag(byte[] cert, EncryptionMethod p, DerWriter wr)
        {
            wr.WriteOID(PKCS12CertBag);
            using (wr.BeginTaggedObject(0))
            {
                using (wr.BeginSequence())
                {
                    WriteX509Cert(cert, p, wr);
                }
            }

            using (wr.BeginSet())
            {
                using (wr.BeginSequence())
                {
                    wr.WriteOID(PKCS12LocalKeyID);
                    using (wr.BeginSet())
                    {
                        wr.WriteOctetString(new byte[] { 1 });
                    }
                }
            }
        }