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); }
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); } }