顯示包含「Cert」標籤的文章。顯示所有文章
顯示包含「Cert」標籤的文章。顯示所有文章

2016年11月21日星期一

Self-Signed, Root CA and Intermediate CA Certificates

In this article I will be discussing about the following:
  • Self-Signed Certificate
  • Root CA Certificate
  • Intermediate CA Certificate
At the end I would like everyone to be able to differentiate between these certificate types.
Self Signed Certificate
Self Signed Certificates are certs where both the Issued To and the Issued By field of the certificates are same. In simple words it is a certificate where one issues a certificate to itself and hence the name Self Signed Certificate. Here is one example:
image
As seen in the above image the Issued to and Issued by are same. You may also observe the warning indicating that the certificate is not trusted. Of course it is not as it is self-signed, none of the Known Public CA’s have issued this, so it wont be trusted.


NOTE: To get past the above error put the cert in the Root CA store.
These certs come in handy as they can be created easily using several tools. Obtaining a certificate from a noted Certification Authority has a cost associated with it and may not be feasible at all times. Developers typically test their applications using a self signed certificates most of the times.
Root CA Certificate
Root CA Certificate is a CA Certificate which is simply a Self-signed Certificate. This certificate represents a entity which issues certificate and is known as Certificate Authority or the CA. The usage of the certificate distinguishes it with other normal certificates. Now a CA can be classified as either Root CA’s or Intermediate CA’s. On a Windows OS, if you are looking at the certificate store, you would see all the Root CA certificates in the Trusted Root Certification Authorities. This by default includes the list of public root CA’s which are installed with Windows and are updated periodically through Windows Updates. The number of the certificates would be lesser.


NOTE: Don’t add Intermediate CA certificates to the Trusted Root Certification Authorities store.

Identification of a Root CA:
Now how do we differentiate the CA certificates as Root CA or Intermediate CA. There is so much fuss around this. Its actually easy, look at the CA cert. If the Issued to and Issued by are same then it is a Root CA or else it is a Intermediate CA. Another identification would be to look at the Certification Path. The Cert which appears at the top of the list is the Root CA. Below is one example of one of the public root CA’s:
image
If you think logically this makes sense. CA’s are supposed to issue certificates. Now if I start the process from the beginning, then someone has to issue a certificate to himself and then start the process of issuing the certs down the line.
I’m not going to discuss the purpose of the CA certificate as that would lead to a whole new discussion altogether.
Intermediate CA Certificate
Intermediate CA Certificate is a CA certificate which is not a Self-signed Certificate. The purpose of this certificate may be same as the Root CA or different. Now one may think why to have a intermediate CA at all. Well here is what I think:
Initially it may not require to have a Intermediate CA, as the Root CA’s will serve the purpose. However as the requirement for PKI increases so would the number of CA’s. Understanding that CA at the end of the day is a Server Machine performing this computational task, it is required to have multiple machines. So they have to be replicated. Now it is again not viable to have many Root CA’s in the case of a Internet Scenario as this could lead to fraud and other management issues. So the concept of Intermediate CA was introduced. The Root CA’s delegated their tasks to the corresponding Intermediate CA’s for this. This way they can have one or more Intermediate CA’s.
On Windows OS, these certificates can be found in the Intermediate Certification Authorities Store. Comparatively the number of certificates in this store would be more compared to Trusted Root Certification Authorities store.
Below is a image of a certificate store of MY or Local Computer account. It contains many certificate stores, but I have only highlighted the ones relevant to this article.

image
ref.: https://blogs.msdn.microsoft.com/kaushal/2013/01/09/self-signed-root-ca-and-intermediate-ca-certificates/

2013年9月9日星期一

How to Import and Export SSL Certificates in IIS 5/6

Transferring IIS 5/6 Certificate Files

Background
Want an easier way to export? Our management & troubleshooting tool works on all Windows-based servers.
Windows servers use .pfx files to contain the public key files (your SSL Certificate files, provided by DigiCert) and the associated private key file (generated by your server as part of the CSR).
Since both the public and private keys are needed for an SSL Certificate to function, you need a .pfx backup to transfer SSL server security certificates from one server to another.
This page explains how to back up your certificate on a working server, import the certificate to another server, and then enable the certificate for use on the new server. If you have not yet installed the certificate files that you received from DigiCert on the server that generated your CSR, please see our IIS 5/6 installation instructions page.
Exporting/Backing Up to a .pfx File
  1. On the Start menu click Run and then type mmc.
  2. Click File > Add/Remove Snap-in.
  3. Click Add > Certificates > Add.
  4. Select Computer Account and then click Next. Select Local Computer and then click Finish. Then close the add standalone snap-in window and the add/remove snap-in window.
  5. Click the + to expand the certificates (local computer) console tree and look for the personal directory/folder. Expand the certificates folder.
  6. Right-click on the certificate you want to backup and select ALL TASKS > Export.
  7. Choose Yes, export the private key and include all certificates in certificate path if possible. 
    Warning: Do not select the delete private key option.
  8. Leave the default settings and then enter your password if required.
  9. Choose to save the file and then click Finish. You should receive an "export successful" message. The .pfx file is now saved to the location you selected.
Importing from a .pfx File
  1. On the Start menu click Run and then type mmc.
  2. Click File > Add/Remove Snap-in.
  3. Click Add > Certificates > Add.
  4. Select Computer Account and then click Next. Select Local Computer and then click Finish. Then close the add standalone snap-in window and the add/remove snap-in window.
  5. Click the + to expand the certificates (local computer) console tree and look for the personal directory/folder. Expand the certificates folder.
  6. Right-click on the certificate you want to backup and select ALL TASKS > Import.
  7. Follow the certificate import wizard to import your primary certificate from the .pfx file. When prompted, choose to automatically place the certificates in the certificate stores based on the type of the certificate.
Enabling a New Certificate on a Server
  1. On the Start menu, click Administrative Tools > Internet Information Services (IIS) Manager.
  2. In the IIS manager, right-click the site that you want to use the certificate for and select Properties.
  3. Navigate to Directory Security > Server Certificate. This will start the server certificate wizard.
  4. If given the option, choose to Assign an existing certificate to the site and choose the certificate that you just imported.
    If you do not have that option, you should be asked what you want to do with the current certificate on the site. Choose the option to replace your current certificate.
  5. Browse to the .pfx file that you created earlier and then finish the certificate wizard. You may have to restart IIS or the server for it to recognize the new certificate.

ref: http://www.digicert.com/ssl-support/pfx-import-export-iis.htm

Export a Server Certificate (IIS 6.0)

Web server certificates contain information about the server that allows the client to positively identify the server over a network before sharing sensitive information, in a process called authentication. Secure Sockets Layer (SSL) uses these certificates for authentication, and uses encryption for message integrity and confidentiality. SSL is a public key–based security protocol that is used by Internet services and clients to authenticate each other and to establish message integrity and confidentiality.
If you use SSL to protect confidential information exchanged between the Web server and the client, you must migrate or export the certificates and the associated private keys from the source server to the target server.

Requirements

Credentials: Membership in the Administrators group on the local computer.
Tools: Iis.msc.

Recommendation

As a security best practice, log on to your computer using an account that is not in the Administrators group, and then use the Run as command to run IIS Manager as an administrator. At the command prompt, type runas /user:administrative_accountname mmc %systemroot%\system32\inetsrv\iis.msc.

Procedures

To export a server certificate

1.
In the Run dialog box, type mmc, and then click OK. The Microsoft Management Console (MMC) appears.
2.
If you do not have Certificate Manager installed in MMC, you need to install it.
For more information on how to add the Certificate snap-in to an MMC console, see the procedure "To add the Certificates Snap-in to MMC" in Install a Server Certificate this appendix.
3.
In the console tree, click the logical store where the certificate you want to export exists. Usually this is in the Certificates folder in the Personal directory underCertificates (Local Computer) on the Console Root.
4.
Right-click the certificate you want to export, click All Tasks, and click Export to start the Certificate Export Wizard.
5.
Click Next.
6.
On Export Private Key, click Yes to export the private key.
  Important
You must export the private key along with your certificate for it to be valid on your target server. Otherwise, you will have to request a new certificate for the target server.
7.
In the Export File Format dialog box, click the format you want for the certificate. If the certificate has already been formatted, that format is selected as the default. Click Next.
Do not select Delete the private key if export is successful, because this will disable the SSL site that corresponds to that private key.
8.
Continue to follow steps in the wizard, and enter a password for the certificate backup file when prompted. Using a strong password is highly recommended because it ensures that the private key is well protected.
9.
Type the name of the file you want to export, or click Browse to search for the file. Click Next.
10.
Click Finish to complete the Certificate Export Wizard.

2013年2月19日星期二

How do I download a certificate from Symantec Trust Center?

Solution ID:  SO8061
Version:  22.0
Published:  02/26/2008
Updated:  02/03/2013

Problem

Download certificate
Pick up certificate

Resolution

  1. Go to https://trustcenter.websecurity.symantec.com/process/retail/console_login?application_locale=VRSN_US
  2. Enter your Username and Password
  3. Click Sign In
    Note: If you do not remember your Username or Password, refer to SO6057
  4. In the first step, click "Get certificate". (added by webmaster)
  5. From the list, select the corresponding certificate to download
  6. Under the Status tab, click Pick up certificate
  7. Select the appropriate PKCS#7 or  X.509 format from the drop down menu and allow for the page to refresh between selections
    Note: Microsoft IIS users select PKCS#7 or select X.509 for all other server vendors
  8. Click Copy
  9. Paste the certificate into a plain text editor such as Notepad (Windows) or VI (UNIX)
  10. Save the file as .cer
     
Note: The default format when picking up the certificate is PKCS#7 which includes the SSL certificate and corresponding Intermediate CA(s). If Microsoft IIS 5.0 or higher is being used, you will want to select the PKCS#7 format as the Microsoft IIS server can import the Intermediate CA's and end entity SSL certificate when it is packaged in a PKCS#7 type file. 

If you require the SSL certificate file without the Intermediate CA, select the x.509 format.