Beispiel #1
0
        // Reads the X.509 certificates contained within an IdP or SP SSO descriptor
        private static void ReadX509Certificates(RoleDescriptorType roleDescriptor)
        {
            foreach (KeyDescriptor keyDescriptor in roleDescriptor.KeyDescriptors)
            {
                KeyInfo keyInfo = new KeyInfo();
                keyInfo.LoadXml(keyDescriptor.KeyInfo);

                IEnumerator enumerator = keyInfo.GetEnumerator(typeof(KeyInfoX509Data));

                while (enumerator.MoveNext())
                {
                    KeyInfoX509Data keyInfoX509Data = (KeyInfoX509Data)enumerator.Current;

                    foreach (X509Certificate2 x509Certificate in keyInfoX509Data.Certificates)
                    {
                        Console.WriteLine("X509 certificate: " + x509Certificate.ToString());
                    }
                }

                foreach (XmlElement xmlElement in keyDescriptor.EncryptionMethods)
                {
                    Console.WriteLine("Encryption method: " + KeyDescriptor.GetEncryptionMethodAlgorithm(xmlElement));
                }
            }
        }
        protected void ProcessKeys(IMetadataConfiguration configuration, RoleDescriptorType Descriptor)
        {
            foreach (var k in configuration.Keys)
            {
                var certificate = _certificateManager.GetCertificate(k.SertificateFilePath, k.CertificatePassword);

                var keyDescriptor = new KeyDescriptor();

                keyDescriptor.Use = k.Usage;

                var keyInfo  = _xmlSignatureManager.CreateKeyInfo(certificate);
                var xElement = keyInfo.GetXml().OuterXml;
                keyDescriptor.KeyInfo = XElement.Parse(xElement);

                Descriptor.KeyDescriptors.Add(keyDescriptor);
            }
        }
        protected virtual EntityDescriptor BuildEntityDesciptor(IMetadataConfiguration configuration, RoleDescriptorType descriptor)
        {
            var entityDescriptor = new EntityDescriptor()
            {
                EntityID = new EntityIDType {
                    Uri = configuration.EntityId.AbsoluteUri
                },
                ID = "84CCAA9F05EE4BA1B13F8943FDF1D320"
            };

            AssignmentAction(entityDescriptor, (T)descriptor);

            return(entityDescriptor);
        }
Beispiel #4
0
        // Reads the X.509 certificates contained within an IdP or SP SSO descriptor
        private static void ReadX509Certificates(RoleDescriptorType roleDescriptor)
        {
            foreach (KeyDescriptor keyDescriptor in roleDescriptor.KeyDescriptors) {
                KeyInfo keyInfo = new KeyInfo();
                keyInfo.LoadXml(keyDescriptor.KeyInfo);

                IEnumerator enumerator = keyInfo.GetEnumerator(typeof(KeyInfoX509Data));

                while (enumerator.MoveNext()) {
                    KeyInfoX509Data keyInfoX509Data = (KeyInfoX509Data)enumerator.Current;

                    foreach (X509Certificate2 x509Certificate in keyInfoX509Data.Certificates) {
                        Console.WriteLine("X509 certificate: " + x509Certificate.ToString());
                    }
                }

                foreach (XmlElement xmlElement in keyDescriptor.EncryptionMethods) {
                    Console.WriteLine("Encryption method: " + KeyDescriptor.GetEncryptionMethodAlgorithm(xmlElement));
                }
            }
        }