Exemple #1
0
        /// <summary>
        /// Retrieves SSO Trusted certificates
        /// </summary>
        /// <param name="authorizationUsername">User with administrator privileges</param>
        /// <param name="authorizationPassword">Password for the authorizationUsername</param>
        /// <returns></returns>
        public X509Certificate2[] GetTrustedCertificatesAsync(
            string authorizationUsername,
            SecureString authorizationPassword)
        {
            // Create Authorization Invocation Context
            var authorizedInvocationContext =
                CreateAuthorizedInvocationContext(
                    authorizationUsername,
                    authorizationPassword);

            // Invoke SSO Admin CreateLocalSolutionUser operation
            var ssoCertificatesResult = authorizedInvocationContext.
                                        InvokeOperation(() =>
                                                        _ssoAdminClient.GetTrustedCertificatesAsync(
                                                            new ManagedObjectReference {
                type  = "SsoAdminConfigurationManagementService",
                Value = "configurationManagementService"
            })).Result;

            List <X509Certificate2> result = new List <X509Certificate2>();

            foreach (var cert in ssoCertificatesResult.returnval)
            {
                result.Add(new X509Certificate2(Convert.FromBase64String(cert)));
            }
            return(result.ToArray());
        }