Пример #1
0
        private static void AddCertificateToList(byte[] storageKey, CertificateHashEntry newCertHashEntry)
        {
            CertificateHashMapEntry trustedRootCaHashMapEntry;

            byte[] newCertHashEntrySerialized = SerializationUtil.Serialize(newCertHashEntry);

            byte[] trustedRootCAListHashMapEntrySerialized = StorageUtil.readFromStorage(storageKey);
            if (trustedRootCAListHashMapEntrySerialized == null)
            {
                trustedRootCaHashMapEntry = new CertificateHashMapEntry();
                trustedRootCaHashMapEntry.certificateHashArray    = new byte[1][];
                trustedRootCaHashMapEntry.certificateHashArray[0] = newCertHashEntrySerialized;
            }
            else
            {
                trustedRootCaHashMapEntry =
                    (CertificateHashMapEntry)SerializationUtil.Deserialize(trustedRootCAListHashMapEntrySerialized);
                byte[][] newCertificateHashArray =
                    new byte[trustedRootCaHashMapEntry.certificateHashArray.Length + 1][];
                newCertificateHashArray[0] = newCertHashEntrySerialized;
                for (int i = 0; i < trustedRootCaHashMapEntry.certificateHashArray.Length; i++)
                {
                    newCertificateHashArray[i + 1] = trustedRootCaHashMapEntry.certificateHashArray[i];
                }

                trustedRootCaHashMapEntry.certificateHashArray = newCertificateHashArray;
            }

            trustedRootCAListHashMapEntrySerialized = SerializationUtil.Serialize(trustedRootCaHashMapEntry);
            StorageUtil.saveToStorage(storageKey, trustedRootCAListHashMapEntrySerialized);
        }
Пример #2
0
        public static CertificateHashEntry[] RetrieveCertList(byte[] storageKey)
        {
            byte[] trustedRootCAListHashMapEntrySerialized = StorageUtil.readFromStorage(storageKey);
            if (trustedRootCAListHashMapEntrySerialized == null)
            {
                return(new CertificateHashEntry[0]);
            }
            else
            {
                CertificateHashMapEntry trustedRootCaHashMapEntry =
                    (CertificateHashMapEntry)SerializationUtil.Deserialize(trustedRootCAListHashMapEntrySerialized);
                CertificateHashEntry[] retCertificateHashEntries =
                    new CertificateHashEntry[trustedRootCaHashMapEntry.certificateHashArray.Length];
                for (int i = 0; i < trustedRootCaHashMapEntry.certificateHashArray.Length; i++)
                {
                    byte[] certificateHashEntrySerialized     = trustedRootCaHashMapEntry.certificateHashArray[i];
                    CertificateHashEntry certificateHashEntry =
                        (CertificateHashEntry)SerializationUtil.Deserialize(certificateHashEntrySerialized);
                    retCertificateHashEntries[i] = certificateHashEntry;
                }

                return(retCertificateHashEntries);
            }
        }