Technical Notes |
|
This technical note describes the steps to follow when connecting from a Reflection for Secure IT Windows Client to a Reflection for Secure IT Windows Server using certificate authentication. You will use the certificate generation utility on the Reflection SSH Windows server to create a certificate request and convert the resulting signed certificate and private key into the proper format.
Note: This note is intended for server administrators who are generating certificates for users. The certificate generation utility, ssh-certtool, is available only in Reflection for Secure IT Windows Server version 6.0 build 24 through 6.1.x. The certtool is not available in the client product.
Certificate authentication is one way a server can authenticate a user. It requires three items:
The Trusted Root CA certificate and the user certificate mapping file are uploaded to the Reflection for Secure IT Windows Server.
Configuring Reflection for Secure IT Windows Client for certificate authentication is a multi-step process:
The rest of this technical note outlines the procedures to configure certificate authentication on the client. Note: Some preliminary configuration must be done on the Reflection SSH server.
Use the ssh-certtool utility (on the Reflection SSH Windows server) to generate a certificate request, and later a PKCS12 package for the client. The steps vary depending on certificate type, extensions, and other factors, including how you choose to sign your certificates.
Note: The version of the ssh-certtool utility required to generate a certificate is available in Reflection for Secure IT Window Server version 6.0 build 24 through 6.1.x.
ssh-certtool n <rsa or dsa> req CN=<"User Name">,O=<Company>,OU=<OrganizationalUnit>,L=<City>,ST=<State>,C=<Country>For example:
ssh-certool n rsa req CN="User Name",O=Attachmate,OU=Support, L=Seattle,ST=Washington,C=USThe e-mail address can also be added to the Subject Alternative Name by including the option:
-z email=user@example.comFor example:
ssh-certtool -n rsa -z email=User Name@myCo.com req CN="User Name",O=Attachmate,OU=support,L=Seattle,ST=Washington,C=USRename the files to the name of the client for which you are creating them, for example, user1_ssh2 and user1.pkcs10. By renaming the files, you will not overwrite them if you create more certificates.
If you are using Microsoft Certificate Services server as your Certificate Authority, you can open the file in a text editor and then paste it into the request form.
In addition to your signed public key certificate, the Certificate Authority should have sent their Trusted Root Certificate public key; save this for later.
After you receive your CA-signed client certificate from the Certificate Authority, you will need to create a PKCS12 package to import into the Microsoft Certificate Store or Reflection’s Certificate Store in version 6.1.
ssh-certtool pkcs12 <output.ssh2> <My Received Cert>For example:
ssh-certtool pkcs12 user1_ssh2 user1.ssh2.crtThe command creates a file called output.p12.
You can configure the client to store and use certificates from the Microsoft Certificate Store, or beginning in version 6.1, you can configure the client to store and use certificates from Reflection's certificate store.
Follow these steps to configure the client to store and use certificates from the Microsoft Certificate Store.
Note: Select the "Mark the certificate as exportable" check box on the password dialog box in the Certificate Import Wizard.
View Full Size
You will now see the certificate display under the Personal Store in the Microsoft Certificate Store.
Beginning in Reflection version 6.1, you can configure the Reflection SSH Windows client to store certificates in Reflection's certificate store.
The steps you follow to configure certificate user authorization depends on the version of Reflection for Secure IT Windows Server that you use:
When user certificates are used to authenticate to remote server(s), the remote server administrator must configure Certificate User Authorization on the server and add the Trusted Root CA certificate. (See To Obtain the Trusted Root CA Certificate for more information.)
To edit an existing Trusted Root CA, click Edit and proceed to Step 2.
To add a new Trusted Root CA, click Add and follow these steps:
button) or Import to the Trusted Root certificate you received from your Certificate Authority. In versions 6.1.2 and 6.1.3, you can also use the Select System CA Certificate button to select the Root Certificate from Windows certificate store. The certificate will have a .cer or .crt file extension.
<account-id> SerialAndIssuer <MyCertSerialNumberInDecimal> C=<MyCountry>, O=<MyCompany>, CN=<"User Name">or
<account-id> Subject C=<MyCountry>, ST=<MyState>, L=<MyCity>, O=<MyCompany>, OU=<MyOrganizationalUnit>, CN=<"User Name">For example, it might look like the following:
account-id SerialAndIssuer 12345678 C=US, O=Attachmate, CN="User Name"or
account-id Subject C=US, ST=Washington, L=Seattle, O=Attachmate, OU=Support, CN="User Name"or
account-id email UserName@MyDomain.comor
%subst% emailregex ([a-z,A-Z,0-9]+)@MyDomain\.comFor example, it might look like the following:
%subst% emailregex ([a-z,A-Z]+)@Attachmate\.comNext, proceed to Connect Using Certificate Authentication.
When you submitted the certificate request to your Certificate Authority for signing, they sent your signed certificate and the Trusted Root CA Certificate. If you did not receive the Trusted Root CA Certificate when the CA sent you your signed certificate, you can obtain it in one of two ways:
Return to Version 6.1.x instructions.
When user certificates are used to authenticate to remote server(s), the remote server administrator must configure Certificate User Authorization on the server and add the Trusted Root CA certificate (if it has not previously been added). Follow these steps to configure Certificate User Authorization.
<account-id> SerialAndIssuer <MyCertSerialNumberInDecimal> C=<MyCountry>, O=<MyCompany>, CN=<"User Name">or
<account-id> Subject C=<MyCountry>, ST=<MyState>, L=<MyCity>, O=<MyCompany>, OU=<MyOrganizationalUnit>, CN=<"User Name">For example, it might look like the following:
account-id SerialAndIssuer 12345678 C=US, O=Attachmate, CN="User Name"or
account-id Subject C=US, ST=Washington, L=Seattle, O=Attachmate, OU=Support, CN="User Name"or
account-id email UserName@MyDomain.comor
%subst% emailregex ([a-z,A-Z,0-9]+)@MyDomain\.comFor example, it might look like the following:
%subst% emailregex ([a-z,A-Z]+)@Attachmate\.comNote: If you have previously imported the Trusted Root CA certificate, you do not need to import it again; you may proceed to Connect Using Certificate Authentication.
When you submitted the certificate request to your Certificate Authority for signing, they sent your signed certificate and the Trusted Root CA Certificate. For background information on this topic, read About Trusted Root CA Certificates.
If you did not receive the Trusted Root CA Certificate when the CA sent you your signed certificate, you can obtain it in one of two ways:
Follow these steps to add the Trusted Root CA certificate to the Reflection server.
button) to the Trusted Root certificate you received from your Certificate Authority. The certificate will have a .cer or .crt file extension. Select the file and click OK.
Now your Reflection for Secure IT Windows Client is configured to support client certificate authentication. Click Connect on the Reflection for Secure IT client, and you will see a padlock on the Status Line indicating your connection is secure.
For information about configuring Reflection for Secure IT Windows Server for certificate authentication, see Technical Note 1873.
A certificate issued by a Certification Authority (CA) to itself is called a Trusted Root certificate; it is the anchor point for a chain of trust. When one entity uses a certificate to authenticate itself, the other entity must verify the trust relationship between the first entity's certificate and the Trusted Root CA that is at the beginning of the chain of trust.
For example, if a user is presenting a certificate to authenticate themselves to the server, the server needs to verify two conditions:
This second validation requires that the Trusted Root certificate for the user's certificate resides in the Trusted Root store on the server and that any intermediate CA certificates can be obtained.