Esempio n. 1
0
    // Acquires a client certificate from the service utility endpoint and
    // attempts to install it into the store.  All failures are
    // propagated back to the caller.
    private static X509Certificate2 InstallClientCertificateFromServer()
    {
        X509Certificate2       clientCertificate = null;
        BasicHttpBinding       basicHttpBinding  = new BasicHttpBinding();
        ChannelFactory <IUtil> factory           = null;
        IUtil serviceProxy = null;

        try
        {
            factory      = new ChannelFactory <IUtil>(basicHttpBinding, new EndpointAddress(ServiceUtil_Address));
            serviceProxy = factory.CreateChannel();
            byte[] certdata = serviceProxy.GetClientCert(false);
            clientCertificate = new X509Certificate2(certdata, "test", X509KeyStorageFlags.PersistKeySet);
            clientCertificate = CertificateManager.InstallCertificateToMyStore(clientCertificate);
        }
        finally
        {
            CloseCommunicationObjects((ICommunicationObject)serviceProxy, factory);
        }

        return(clientCertificate);
    }