Posts Tagged 'Public key infrastructure'

Clean up expired certificates from AD

Security MVP Vadims Podans just did a great post on using PowerShell to remove expired user certificates from Active Directory.

In a nutshell,

  • If your company is using certificates for user authentication or encryption, these expire every now and then,
  • Your Enterprise CA in that case appends new certificates to users’ userCertificate attribute, while leaving expired certs there as well,
  • Over time these increasingly clutter your AD, making administration more difficult and negatively affecting AD replication traffic.

Luckily, cleaning up expired certificates with PowerShell is extremely easy.

To do the clean-up for a specific user you can run this one-liner:

Get-QADUser username | Remove-QADCertificate -Valid:$false

To clean-up the entire domain, just do:

Get-QADUser | Remove-QADCertificate -Valid:$false

See Vadim’s original post for details.

Read more about PKI management with PowerShell here.

Managing Certificate Revocation Lists and Certificate Stores

Vadims has published a couple of articles with great examples of how to use PowerShell to manage CRLs (Certificate Revocation List) and local certificate stores.

CRL tasks include:

  • Importing CRL:
$crl = Import-QADCertificateRevocationList -File C:\pica-1.crl
  • Reviewing CRL details:
$crl | format-list *
  • Add CRL to local certificate store:
Add-QADCertificateRevocationList -CRL $crl -Store $store
  • CRL removal:
Get-QADCertificateRevocationList -Store $store |
  where-object {$_.IssuedBy -like "sysadmins*"} |
  Remove-QADCertificateRevocationList -Store $store
  • CRL export:
Export-QADCertificateRevocationList -CRL $crl -File c:\customcrl.crl
  • Publishing CRL:
Publish-QADCertificateRevocationList -CRL $crl -CAName CustomCAName
  • Unpublishing CRL:
Get-QADPKIObject CDP |
  Get-QADCertificateRevocationList |
  where-object {$_.IssuedBy -like "sysadmins*"} |
  Unpublish-QADCertificateRevocationList -CAName "CustomCAName"

For certificate store management, Vadims goes through:

  • Exploring certificate stores:
Get-QADLocalCertificateStore -StoreLocation LocalMachine -StoreName My |
  Get-QADCertificate
  • Adding certificate stores:
New-QADLocalCertificateStore -StoreLocation CurrentUser -StoreName CustomStoreNameToAdd
  • Removing certificate stores:
Remove-QADLocalCertificateStore -StoreLocation LocalMachine -StoreName CustomStoreToDelete

For all these, Vadims is providing tons of details so I highly recommend checking those out:

Managing Certificate Revocation Lists (CRL) with PowerShell

Managing Certificate Stores with PowerShell

PKI management with PowerShell

Guide for Using Quest AD-PKI cmdlets: Using PowerShell to manage your security certificatesComplete guide for security certificate management with AD cmdlets 1.4 got recently published here and is a must-read if you want to automate your public key infrastructure (PKI).

PKI allows security administrators to uniquely identify and trust hardware devices by using digital certificates. This technique is one of the most secure access strategies, but can also be complicated to set up and manage. This guide reviews the security concepts surrounding digital certificate management and details how the AD-PKI cmdlets can be used with Active Directory to simplify PKI management.

Here’s the table of content from the guide:

  • Understanding Digital Certificates
    • Cryptography Fundamentals
      • Symmetric Encryption
      • Asymmetric Encryption
      • Best Practices for Symmetric and Asymmetric Encryption
  • Types of Certificates
    • X509 Certificate Version 1
    • X509 Certificate Version 2
    • X509 Certificate Version 3
      • Common Certificate Extensions
  • Certificate Revocation List
    • X509 Certificate Revocation List Version 1
    • X509 Certificate Revocation List Version 2
      • Common CRL Extensions
  • Certificate Stores and Containers
    • Local Certificate Stores
    • Active Directory Certificate Containers
  • Certificate cmdlet Descriptions
  • Object Structures of Certificate Stores, Certificates, and CR
    • Certificate Store
    • Certificate
    • Certificate Revocation List (CRL)
  • Using Quest AD PKI-related cmdlets
    • Working with Certificate Stores
      • Explore Certificate Store
      • Create Certificate Store Container
      • Delete Certificate Store Container
    • Adding Certificates to a Certificate Store
      • Certificate File Types
      • Import a Single Certificate
      • Import a Pkcs7 Certificate Container
      • Import a Serialized Store
      • Import a Pkcs12 Certificate with a Private Key
      • Add Imported Certificates to a Store
      • Add an Imported Certificate to a User Account
      • Advanced Techniques
    • Exporting Certificates from a Certificate Store
      • Simple Certificate Export
      • Export a Certificate with a Private Key
      • Export Multiple Certificates
  • Working with Certificate Revocation Lists (CRLs)
    • Add CRLs to a Certificate Store
    • Export CRLs from a Certificate Store
    • Remove a CRL from a Certificate Store
  • Manage Active Directory PKI-related Containers
    • Publish a Certificate to Active Directory Containers
    • Remove a Certificate from Active Directory Containers
    • Publish CRLs to Active Directory Containers
    • Remove CRLs from Active Directory

Download the ebook “Guide for Using QuestAD-PKI cmdlets: Using PowerShell to manage your security certificates” and get the most out of your PKI environment.


My Recent Tweets

Legal

The posts on this blog are provided “as is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer - WSO2 or anyone else for that matter. All trademarks acknowledged.

© 2007-2014 Dmitry Sotnikov

June 2021
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

%d bloggers like this: