private static void AddToDomainCertificateHash(byte[] domainName, byte[] certificateHash) { CertificateHashMapEntry certHashMapEntry; byte[] certHashMapEntrySerialized = StorageUtil.readFromStorage(domainName); if (certHashMapEntrySerialized == null) { certHashMapEntry = new CertificateHashMapEntry(); certHashMapEntry.CertificateHashList = new List <CertificateHashEntry>(); } else { certHashMapEntry = (CertificateHashMapEntry)SerializationUtil.Deserialize(certHashMapEntrySerialized); } foreach (var certificateHashEntry in certHashMapEntry.CertificateHashList) { if (ArrayUtil.AreEqual(certificateHashEntry.CertificateHash, certificateHash)) { return; } } CertificateHashEntry newCertHashEntry = new CertificateHashEntry(); newCertHashEntry.CertificateHash = certificateHash; newCertHashEntry.IsCa = false; certHashMapEntry.CertificateHashList.Add(newCertHashEntry); //certHashMapEntry.Count += 1; certHashMapEntrySerialized = SerializationUtil.Serialize(certHashMapEntry); StorageUtil.saveToStorage(domainName, certHashMapEntrySerialized); }
private static void AddRootCaCertificateToRootCaList(byte[] rootCACertificateHash) { CertificateHashMapEntry trustedRootCaHashMapEntry; byte[] trustedRootCAListHashMapEntrySerialized = StorageUtil.readFromStorage(TRUSTED_ROOT_CA_LIST_STORAGE_KEY); if (trustedRootCAListHashMapEntrySerialized == null) { trustedRootCaHashMapEntry = new CertificateHashMapEntry(); trustedRootCaHashMapEntry.CertificateHashList = new List <CertificateHashEntry>(); //trustedRootCaHashMapEntry.Count = 0; } else { trustedRootCaHashMapEntry = (CertificateHashMapEntry)SerializationUtil.Deserialize(trustedRootCAListHashMapEntrySerialized); } CertificateHashEntry newCertHashEntry = new CertificateHashEntry(); newCertHashEntry.CertificateHash = rootCACertificateHash; newCertHashEntry.IsCa = true; trustedRootCaHashMapEntry.CertificateHashList.Add(newCertHashEntry); //trustedRootCaHashMapEntry.Count += 1; trustedRootCAListHashMapEntrySerialized = SerializationUtil.Serialize(trustedRootCaHashMapEntry); StorageUtil.saveToStorage(TRUSTED_ROOT_CA_LIST_STORAGE_KEY, trustedRootCAListHashMapEntrySerialized); }
private static void AddCertificateToCaIssuedCertificateList(Certificate certificate, byte[] certificateHash) { CertificateHashMapEntry certHashMapEntry; byte[] storageKey = ArrayUtil.Concat(ELEMENT_LIST, certificate.AuthorityKeyIdentifier.keyIdentifier); byte[] certHashMapEntrySerialized = StorageUtil.readFromStorage(storageKey); if (certHashMapEntrySerialized == null) { certHashMapEntry = new CertificateHashMapEntry(); certHashMapEntry.CertificateHashList = new List <CertificateHashEntry>(); //certHashMapEntry.Count = 0; } else { certHashMapEntry = (CertificateHashMapEntry)SerializationUtil.Deserialize(certHashMapEntrySerialized); } CertificateHashEntry newCertHashEntry = new CertificateHashEntry(); newCertHashEntry.CertificateHash = certificateHash; newCertHashEntry.IsCa = certificate.BasicConstraints.IsCa; certHashMapEntry.CertificateHashList.Add(newCertHashEntry); // certHashMapEntry.Count += 1; certHashMapEntrySerialized = SerializationUtil.Serialize(certHashMapEntry); StorageUtil.saveToStorage(storageKey, certHashMapEntrySerialized); }