<?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>Soundside Software &#187; Administration</title>
	<atom:link href="http://www.soundsidesoftware.com/category/microsoft-office/administration/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.soundsidesoftware.com</link>
	<description>...precision software, by design</description>
	<lastBuildDate>Sat, 24 Dec 2011 17:34:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Using SelfCert to Create Digital Certificates in a Network Environment</title>
		<link>http://www.soundsidesoftware.com/using-selfcert-to-create-digital-certificates-in-a-network-environment-2/</link>
		<comments>http://www.soundsidesoftware.com/using-selfcert-to-create-digital-certificates-in-a-network-environment-2/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 03:47:42 +0000</pubDate>
		<dc:creator>David Horowitz</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Microsoft Office]]></category>
		<category><![CDATA[Code Signing]]></category>
		<category><![CDATA[SelfCert]]></category>
		<category><![CDATA[VBA]]></category>

		<guid isPermaLink="false">http://www.soundsidesoftware.com/2010/01/24/using-selfcert-to-create-digital-certificates-in-a-network-environment-2/</guid>
		<description><![CDATA[David Horowitz shows you how to install digital certificates in your office to avoid annoying macro warning messages.]]></description>
			<content:encoded><![CDATA[<h1>Using SelfCert to Create Digital Certificates in a Network Environment</h1>
<h3><a target="_blank" href="http://pubs.logicalexpressions.com/Pub0009/LPMFrame.asp?CMD=AuthorDetail&amp;ID=26">by David Horowitz</a></h3>
</p>
<p>In this article, I&#8217;ll discuss how to use <i>SelfCert.exe</i> to generate your own digital certificates (or signatures) to sign your in-house VBA template projects. Then I&#8217;ll explain how to install these templates on other machines which are set to High (or Medium) <b>Macro Security</b>. I&#8217;ll also provide links to useful Microsoft Knowledge Base articles. These instructions have been tested on Word 2002 (XP) and probably work similarly with Word 2000.</p>
<h4>Scenario</h4>
<p> You&#8217;re an in-house IT person, or perhaps a small developer. Your company (or client) needs to have Macro Security set to High (or at least Medium) to provide some sense of protection against macro viruses. You want to deploy some templates in Word with custom macros. Because of the macro security feature, you need to have your code signed with a digital certificate. You don&#8217;t want to purchase a digital certificate from a certificate authority just so you can deploy some templates with macros. You know you can use SelfCert.exe to generate your own certificate. It works fine on your development machine, but you&#8217;ve been having trouble deploying the templates onto other machines on the network. This article describes how to do it.</p>
<p>A few clarifications are in order. For one, even if you have an email antivirus system installed, leaving <b>Macro Security</b> set to <b>High</b>, or at least <b>Medium</b>, is a good idea. With it set to Medium, every time your user attempts to load a template which hasn&#8217;t been verified, she will get a dialog box asking if she wants to <b>Enable Macros</b>. Inconvenient, to say the least. If Macro Security is set to High, if you haven&#8217;t verified the certificate, your user won&#8217;t even be allowed to enable the macros.</p>
<p>One problem with certificates generated with SelfCert is they can be forged. However, the forger would need to have specific knowledge about your in-house certificate. This would mean they would either have to have a big grudge against your company or client, or be someone in-house with a degree of technical sophistication. Under many circumstances, this is not a real risk. However, under these circumstances, you may wish to consider purchasing a verified code-signing digital signature from a Certificate Authority (CA). See <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/rootcertprog.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/rootcertprog.asp</a> for Microsoft&#8217;s list of Certificate Authorities.</p>
<h4>Let&#8217;s Do It</h4>
<p> The basic procedure is:</p>
<ul>
<li>Create your template with custom macros or code </li>
<li>Locate or install SelfCert.exe on your development machine. </li>
<li>Generate your own digital certificate using SelfCert.exe. </li>
<li>Sign your template with this new digital certificate </li>
<li>Copy the template to its desired location </li>
<li>Install the certificate on each machine </li>
</ul>
<p>Let&#8217;s now look at each step in detail.</p>
<h4>Create your Template with Custom Macros or Code</h4>
<p> I&#8217;ll assume you know how to do this.</p>
<h4>Locate or Install SelfCert.exe on Your Development Machine</h4>
<p> <b>SelfCert.exe </b>is installed as part of Office XP—look in <b>C:\Program Files\Microsoft Office\Office10</b>. In Office 2000, it&#8217;s an optional component you can install—use <b>Control Panel/Add/Remove Programs/Microsoft Office/Add or Remove Features/Update Features/Office Tools/Digital Signatures for VBA Projects</b>. See the <b>To Install the SelfCert Tool </b>section of Microsoft Knowledge Base article <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q206637">Q206637 &#8211; OFF2000: Overview of Digital Certificates</a> or the <b>Creating a Test Certificate</b> section of <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q217221">Q217221 &#8211; OFF2000: Using SelfCert to Create a Digital Certificate for VBA Projects</a> for more info.</p>
<h4>Generate Your Own Digital Certificate Using SelfCert.exe</h4>
<p> To create your certificate, simply run <b>SelfCert</b> from wherever it is and enter the name you want to give the certificate. That&#8217;s it. The name can be your company&#8217;s name, or it can be something like &quot;&lt;Company Name&gt; Internal&quot;, or whatever seems appropriate to you. See the <b>To Create a Test Certificate</b> section of <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q206637">Q206637 &#8211; OFF2000: Overview of Digital Certificates</a> or the <b>Creating a Test Certificate</b> section of<a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q217221"> Q217221 &#8211; OFF2000: Using SelfCert to Create a Digital Certificate for VBA Projects</a> for more info.</p>
<h4>Sign Your Template with This New Digital Certificate</h4>
<p> To sign your template, go into the <b>Visual Basic Editor</b> (<b>Alt/F11</b> from Word), select the template project you wish to sign, select <b>Tools/Digital Signature</b>, select <b>Choose</b>, choose the certificate from the list, and click <b>OK</b> <i>twice</i>. Refer to the screen snapshots below. See the <b>Adding a Digital Signature to a Macro Project</b> section of <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q307731">Q307731 &#8211; HOW TO: Add a Digital Signature to a Custom Macro Project in an Office XP Program</a> for more info.     <br /> <img src="http://www.soundsidesoftware.com/wp-content/uploads/2010/01/SelfCertFig1.jpg" width="386" height="273" />&#160; <br /> <b>Figure 1—The Digital Signature dialog box showing the user clicking the Choose button.</b>     <br /> <img src="http://www.soundsidesoftware.com/wp-content/uploads/2010/01/SelfCertFig2.jpg" width="426" height="302" />     <br /> <b>Figure 2—The Select Certificate dialog box showing the user selecting the certificate and clicking the OK button.</b></p>
<h4>Copy the Template to its Desired Location</h4>
<p> In a network environment, this may be to the <b>Workgroup templates</b> location. In Word, look in <b>Tools/Options/File Locations</b>. I&#8217;ll leave this part up to you.</p>
<h4>Install the Certificate on Each Machine</h4>
<p> This is the tough part that <a href="http://pubs.logicalexpressions.com/Pub0009/LPMFrame.asp?CMD=AuthorDetail&amp;ID=1">Dian Chapman</a> and I collaborated on. And they said it couldn&#8217;t be done! I was unable to find any documentation on this procedure on the Web. The procedure is non-intuitive because you&#8217;re trying to trust a non-authenticated digital signature. You&#8217;ll want to do this procedure yourself (rather than having users do it) to make sure it&#8217;s done right. As you&#8217;ll see, it&#8217;s not really hard to do.</p>
<ol>
<li>Open a document based on the template in Word, using <b>File/New/New from Template/General Templates</b>. You will get the <b>Macro Security</b> dialog box. </li>
<li>The dialog box will mention the name of the certificate. Click <b>Details</b>.       <br /> <img src="http://www.soundsidesoftware.com/wp-content/uploads/2010/01/SelfCertFig3.jpg" width="506" height="296" />       <br /> <b>Figure 3—The Security Warning dialog box showing the user clicking the Details button.        <br /> </b></li>
<li>Click on <b>View Certificate</b>. </li>
<li>Click on <b>Install Certificate</b>.       <br /> <img src="http://www.soundsidesoftware.com/wp-content/uploads/2010/01/SelfCertFig4.jpg" width="405" height="475" />       <br /> <b>Figure 4—The Certificate dialog box showing the user clicking the Install Certificate button.</b> </li>
<li>A wizard will appear. Click <b>Next</b> <i>twice</i> and <b>Finish</b>. </li>
<li>A dialog box may appear to ask if you are sure you want to <b>Add</b> the certificate. Click <b>Yes</b>. </li>
<li>Click <b>OK</b> <i>twice</i> to get back to the dialog box shown during step 1. </li>
<li>Check the <b>Always trust macros from this publisher</b> checkbox. </li>
<li>Click <b>Enable Macros</b>. </li>
</ol>
<p>That&#8217;s it!</p>
<p><i>Special thanks go to <a href="http://pubs.logicalexpressions.com/Pub0009/LPMFrame.asp?CMD=AuthorDetail&amp;ID=1">Dian Chapman</a> for her assistance with this article.</i></p>
<hr />
<h4>References</h4>
<p> <i>For a good overall description of most of the process:</i>     <br /> <b>5-Minute Security Advisor—Signing Office Objects</b>     <br /> <a href="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/columns/security/5min/5min-402.asp">http://www.microsoft.com/technet/treeview/default.asp?url=/technet/columns/security/5min/5min-402.asp</a></p>
<p><i>For an overview of digital certificates, a description of the different Macro Security levels, information about how to obtain a signature, and instructions for using SelfCert:.</i>     <br /> Microsoft Knowledge Base Article &#8211; Q206637     <br /> <b>OFF2000: Overview of Digital Certificates</b>     <br /> <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q206637">http://support.microsoft.com/default.aspx?scid=kb;en-us;Q206637</a></p>
<p><i>For a brief description of how to use SelfCert:</i>     <br /> Microsoft Knowledge Base Article &#8211; Q217221     <br /> <b>OFF2000: Using SelfCert to Create a Digital Certificate for VBA Projects</b>     <br /> <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q217221">http://support.microsoft.com/default.aspx?scid=kb;en-us;Q217221</a></p>
<p><i>For a brief description of how to sign your code:</i>     <br /> Microsoft Knowledge Base Article &#8211; Q307731     <br /> <b>HOW TO: Add a Digital Signature to a Custom Macro Project in an Office XP Program</b>     <br /> <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q307731">http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q307731</a></p>
<p><i>For Microsoft&#8217;s list of Certificate Authorities:</i>     <br /> <b>Microsoft Root Certificate Program Members</b>     <br /> <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/rootcertprog.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/rootcertprog.asp</a></p>
<hr />
<p />
<p align="center"><a target="_blank" target="_blank" href="http://www.mousetrax.com/techtrax_rating.asp?ID=194"><img border="0" src="http://www.soundsidesoftware.com/wp-content/uploads/2010/01/RateTechTraxArticle.gif" width="187" height="30" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.soundsidesoftware.com/using-selfcert-to-create-digital-certificates-in-a-network-environment-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

