/// <summary> /// Das aktuelle Zertifikat für den angegebenen Empfänger /// </summary> /// <param name="receiverId">Empfänger-ID</param> /// <returns>Das aktuelle Zertifikat für den Empfänger oder null</returns> public X509Certificate GetCertificate(ReceiverId receiverId) { X509Certificate result; if (!_receiverToCertificate.TryGetValue(receiverId, out result)) { return(null); } return(result); }
/// <summary> /// Aufbau eines Dictionary, das für einem Empfänger auf ein Empfänger-Zertifikat verweist /// </summary> /// <param name="certificates">Liste von Empfänger-Zertifikaten</param> /// <returns>Das Dictionary</returns> /// <remarks>Diese Funktion wird aufgerufen, wenn die Eigenschaft <see cref="F:_receiverCertificates"/> gesetzt wird.</remarks> private static Dictionary <ReceiverId, X509Certificate> BuildDictionary(IEnumerable <X509Certificate> certificates) { var result = new Dictionary <ReceiverId, X509Certificate>(); if (certificates != null) { foreach (var cert in certificates) { var name = cert.SubjectDN; var values = name.GetValueList(Org.BouncyCastle.Asn1.X509.X509Name.OU); if (values.Count == 0) { continue; } var receiverId = ReceiverId.FromBnrOrIk((string)values[0]); result.Add(receiverId, cert); } } return(result); }