<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tinyint.com &#187; certificate services</title>
	<atom:link href="http://www.tinyint.com/index.php/tag/certificate-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tinyint.com</link>
	<description>An engineering and development &#60;em&#62;Factory of Knowledge&#60;/em&#62;™</description>
	<lastBuildDate>Fri, 23 Sep 2011 05:39:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>CA certificate expiration monitoring</title>
		<link>http://www.tinyint.com/index.php/2010/08/09/ca-certificate-expiration-monitoring/</link>
		<comments>http://www.tinyint.com/index.php/2010/08/09/ca-certificate-expiration-monitoring/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 17:19:17 +0000</pubDate>
		<dc:creator>tcnolan</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[certificate services]]></category>
		<category><![CDATA[windows 2008]]></category>

		<guid isPermaLink="false">http://www.tinyint.com/?p=181</guid>
		<description><![CDATA[A reader sent me a message asking how to modify the original CA monitoring script I wrote back in November so that instead of monitoring the pending requests, it would send a message based on expiring certificates. The answer is just a modification to the certutil command that was used in the original script.  The new [...]]]></description>
			<content:encoded><![CDATA[<p>A reader sent me a message asking how to modify the <a href="http://www.tinyint.com/index.php/2009/11/24/certificate-authority-request-monitoring-with-powershell/">original CA monitoring script</a> I wrote back in November so that instead of monitoring the pending requests, it would send a message based on expiring certificates.  The answer is just a modification to the certutil command that was used in the original script.  The new script also allows you to specify the number of days advanced notification you are looking for, the default is 30 days.  Just keep in mind that if you run this script once a day, you will receive a notification every day until the certificate is either revoked/superseded or the certificate is passed the time period specified.  Of course this is all irrelevant if you have the money to spend on <a href="http://www.microsoft.com/systemcenter/en/us/operations-manager.aspx">SCOM</a> which can do this with one of the released <a href="http://www.microsoft.com/downloads/details.aspx?familyid=15edbfeb-0b7d-4baf-a7bd-6bb84a6b822d&amp;displaylang=en&amp;tm">management packs</a>.</p>
<p>The modified <a href="http://technet.microsoft.com/en-us/library/cc732443%28WS.10%29.aspx">certutil</a> command looks a bit like this:</p>
<pre class="brush: plain; title: ; notranslate">certutil -view -restrict &quot;NotAfter&gt;=8/9/2010,NotAfter&lt;=9/9/2010&quot; -out &quot;Request ID, Request Submission Date, Request Common Name, Requester Name, Request Email Address, Request Distinguished Name, CertificateTemplate, NotAfter&quot; -config &quot;&lt;CA_SERVER_NAME&gt;\&lt;CA_NAME&gt;&quot;</pre>
<p>This will return to you all of the certificates that are scheduled to expire between today (August 9th, 2010) and 30 days from now (September 9th, 2010)</p>
<p>You can download the new script here: <strong><a href="http://www.tinyint.com/wp-content/plugins/download-monitor/download.php?id=5"><img alt="Download monitor_ca_expiry.ps1" border="0" src="/images/download.png" style="width: 48px; height: 48px; border-width: 0pt; border-style: solid; vertical-align: middle;" title="Download monitor_ca_expiry.ps1" /><span style="font-size:14px;">Download monitor_ca_expiry.ps1</span></a></strong><br /><br /></p>
<p><strong>Update</strong>: Thanks to Aaron (from New Mexico? the original reader) who noticed I forgot one really useful bit of information from the status report that displays when you run the command: the date of expiration for the certificate.  I have updated the script and the sample above to reflect the change.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tinyint.com/index.php/2010/08/09/ca-certificate-expiration-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certificate Authority Request Monitoring with Powershell</title>
		<link>http://www.tinyint.com/index.php/2009/11/24/certificate-authority-request-monitoring-with-powershell/</link>
		<comments>http://www.tinyint.com/index.php/2009/11/24/certificate-authority-request-monitoring-with-powershell/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 23:26:46 +0000</pubDate>
		<dc:creator>tcnolan</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[certificate services]]></category>
		<category><![CDATA[windows 2008]]></category>

		<guid isPermaLink="false">http://www.tinyint.com/?p=166</guid>
		<description><![CDATA[Rolling out a certificate authority in Windows 2003 and Windows 2008 is a relatively trivial task if you are deploying a stand-alone CA, Enterprise CA’s are a bit more complex, but that&#8217;s a post for another day. The web interface (http://server.domain.local/certsrv/) is pretty limited and doesn’t provide the greatest interface for manually requesting certificates, it [...]]]></description>
			<content:encoded><![CDATA[<p>Rolling out a certificate authority in Windows 2003 and Windows 2008 is a relatively trivial task if you are deploying a stand-alone CA, Enterprise CA’s are a bit more complex, but that&#8217;s a post for another day.  The web interface (http://server.domain.local/certsrv/) is pretty limited and doesn’t provide the greatest interface for manually requesting certificates, it even relies on cookies for managing requests.  It would be really nice to see Microsoft build this into a truly useful application like what you get with the <a href="https://ssl-certificate-center.thawte.com/process/retail/console_login?application_locale=THAWTE_US">Thawte Certificate Center</a>.</p>
<p>One thing that is a bit frustrating is that even when you have the logging options fully enabled for the CA, events aren’t logged for new certificate requests so you have to manually check the server on a regular basis for outstanding requests.  Usually this is a low priority kind of service in your enterprise and can get neglected, which has happened in my case a few times.</p>
<p>This neglect prompted me to write the following Powershell script which very simply uses <a href="http://technet.microsoft.com/en-us/library/cc732443%28WS.10%29.aspx">certutil</a> to check if there are any pending requests, and then fire off an email to a list of users if there are.  This script could also be easily modified to check for revoked certificates or to generate a weekly report on existing certificates to monitor expiration dates, among a bunch of other things, however I really only needed this for requests so that&#8217;s all it does for right now.  If anyone has any interest in something else, let me know and I’ll see about updating the script to include additional features.</p>
<p>To use this script, all you need to do is ensure you have a copy of certutil on the machine running this, update the configurable pieces of the script, then create a scheduled task to run it every hour or so, or whatever time-frame is appropriate for you and your organization.</p>
<p>More information and a download link is after the break&#8230;<br />
<span id="more-166"></span></p>
<p>The script uses a very simple function of certutil to check for pending requests.  You can execute the following code from a command prompt or powershell prompt to see a list of existing pending requests.</p>
<pre class="brush: plain; title: ; notranslate">

certutil -view -out &quot;Request ID, Request Submission Date, Request Common Name, Requester Name, Request Email Address, Request Distinguished Name, CertificateTemplate, Request Disposition&quot; -Restrict &quot;Request Disposition=9&quot; -config &quot;&lt;CA_SERVER_NAME&gt;\&lt;CA_NAME&gt;&quot;
</pre>
<p>Basically what this is doing is it is telling certutil to check for any certificates where the request dispoition is 9, in other words, any pending certificate requests.  It then outputs a few usefull properties related to the certificates.  All you need to change is the part with &#8220;\&#8221; to include the valid server and name.</p>
<p><strong>Note: </strong>You can omit the entire &#8220;-config &#8220;&lt;CA_SERVER_NAME&gt;\&lt;CA_NAME&gt;&#8221;" piece if you are running this locally from the CA server and only want to retrieve the local information.</p>
<p><strong>For the full powershell script, click the download link here:</strong> <strong><a href="http://www.tinyint.com/wp-content/plugins/download-monitor/download.php?id=4"><img alt="Download monitor_ca_requests.ps1" border="0" src="/images/download.png" style="width: 48px; height: 48px; border-width: 0pt; border-style: solid; vertical-align: middle;" title="Download monitor_ca_requests.ps1" /><span style="font-size:14px;">Download monitor_ca_requests.ps1</span></a></strong><br /><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tinyint.com/index.php/2009/11/24/certificate-authority-request-monitoring-with-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

