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