<docbook><section><title>VirtSetupSSLVirtuoso</title><title> Virtuoso Certificate Authority Setup</title> Virtuoso Certificate Authority Setup
<para>The steps that follow guide you through the process of setting up your Virtuoso instance to issue CA-Authority-notarized X.509 certificates that include WebID watermarks.</para>
<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Prerequisites</bridgehead>
<para>The following packages should be installed:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="https://virtuoso.openlinksw.com/download/">conductor_dav.vad</ulink></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Generating CA-Authority Certificate (.p12 or .pfx)</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Manually Generating CA-Authority Certificate</bridgehead>
<orderedlist spacing="compact"><listitem>Go to the <emphasis>http://cname:port/conductor</emphasis> URL, enter the DBA user credentials.
</listitem>
<listitem>Go to <emphasis>System Admin</emphasis> → <emphasis>Security</emphasis> <figure><graphic fileref="VirtSetupSSLVirtuoso/sca7.png" /></figure> </listitem>
<listitem>Fill in the form.
 For example: <itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Country</emphasis>: US </listitem>
<listitem><emphasis>State</emphasis>: MA </listitem>
<listitem><emphasis>Organization</emphasis>: Example Inc.
</listitem>
<listitem><emphasis>Organization Unit</emphasis>: Example </listitem>
<listitem><emphasis>Name</emphasis>: Root CA </listitem>
<listitem><emphasis>e-mail</emphasis>: dba@example.com <figure><graphic fileref="VirtSetupSSLVirtuoso/sca8.png" /></figure> </listitem>
</itemizedlist></listitem>
<listitem>Click <emphasis>Generate</emphasis>.
</listitem>
<listitem>The CA-Authority Certificate should be successfully generated: <figure><graphic fileref="VirtSetupSSLVirtuoso/sca9.png" /></figure></listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Importing CA-Authority Certificate</bridgehead>
<para> </para>
<orderedlist spacing="compact"><listitem><ulink url="http://id.myopenlink.net/certgen/">Generate CA-Authority Certificate</ulink> that: <itemizedlist mark="bullet" spacing="compact"><listitem>has <emphasis>http://localhost:8890/dataspace/person/dba#this</emphasis> as WebID </listitem>
<listitem>is <emphasis>Certification Authority (CA) Identity</emphasis> </listitem>
<listitem>has <emphasis>Self-Signed</emphasis> Issuer </listitem>
</itemizedlist></listitem>
<listitem>Go to the <emphasis>http://cname:port/conductor</emphasis> URL, enter the &quot;dba&quot; user credentials.
</listitem>
<listitem>Go to <emphasis>System Admin</emphasis> → <emphasis>User Accounts</emphasis>.
<figure><graphic fileref="VirtSetupSSLVirtuoso/sca0.png" /></figure> </listitem>
<listitem>For user <emphasis>dba</emphasis>, click <emphasis>Edit</emphasis>: <figure><graphic fileref="VirtSetupSSLVirtuoso/sca1.png" /></figure> <figure><graphic fileref="VirtSetupSSLVirtuoso/sca2.png" /></figure> </listitem>
<listitem>In the presented form for <emphasis>PKCS12 file</emphasis>, click <emphasis>Choose File</emphasis> and select your CA Certificate; for example, with name <emphasis>example.p12</emphasis>: <figure><graphic fileref="VirtSetupSSLVirtuoso/sca3.png" /></figure> </listitem>
<listitem>Enter <emphasis>Key Name</emphasis> id_rsa and <emphasis>Key Password</emphasis> the password your CA Certificate has: <figure><graphic fileref="VirtSetupSSLVirtuoso/sca4.png" /></figure> </listitem>
<listitem>Click <emphasis>Import Key</emphasis> </listitem>
<listitem>On a successful import, the certificate should now be presented in the <emphasis>Cryptographic Keys</emphasis> list: <figure><graphic fileref="VirtSetupSSLVirtuoso/sca5.png" /></figure> </listitem>
<listitem>Click <emphasis>Save</emphasis> </listitem>
<listitem>Go to <emphasis>System Admin</emphasis> → <emphasis>Security</emphasis> → <emphasis>Public Key Infrastructure</emphasis> </listitem>
<listitem>The CA Certificate Details should be presented: <figure><graphic fileref="VirtSetupSSLVirtuoso/sca6.png" /></figure></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Generating SSL Key Using the Conductor UI</bridgehead>
<emphasis><emphasis>Note</emphasis> The following assumes the CA-Authority Certificate has been generated/imported already, as through the sections above.</emphasis><orderedlist spacing="compact"><listitem>Go to the <emphasis>http://cname:port/conductor</emphasis> URL, enter the DBA user credentials.
  <figure><graphic fileref="VirtSetupSSLVirtuoso/Picture02.png" /></figure> </listitem>
<listitem>Go to <emphasis>System Admin</emphasis> → <emphasis>Security</emphasis>.
<figure><graphic fileref="VirtSetupSSLVirtuoso/Picture05.png" /></figure> </listitem>
<listitem>Click <emphasis>Configure HTTPS Listeners</emphasis> <figure><graphic fileref="VirtSetupSSLVirtuoso/Picture06.png" /></figure> </listitem>
<listitem>Edit the new listener, and click <emphasis>Generate New</emphasis> <figure><graphic fileref="VirtSetupSSLVirtuoso/Picture07.png" /></figure> </listitem>
<listitem>Click <emphasis>Save</emphasis> <figure><graphic fileref="VirtSetupSSLVirtuoso/Picture08.png" /></figure></listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Setting Up Firefox</bridgehead>
<orderedlist spacing="compact"><listitem>In the <emphasis>Preferences</emphasis> dialog, open the <emphasis>Advanced</emphasis> tab, and click the <emphasis>View certificates</emphasis> button.
</listitem>
<listitem>Click the <emphasis>Add exception</emphasis> button and enter the address of the HTTPS server you&#39;ve just configured, i.e., <emphasis>https://virtuoso.example.com:4433/</emphasis> </listitem>
<listitem>Click <emphasis>OK</emphasis>, and confirm the exception.
<figure><graphic fileref="VirtSetupSSLVirtuoso/Picture_2.png" /></figure></listitem>
</orderedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Related</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSPARQLEndpointProtection">Safeguarding your Virtuoso-hosted SPARQL Endpoint</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksGuideSPARQLEndpointProtection">SPARQL Endpoint Protection Methods Collection</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/">Virtuoso documentation</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html#rdfsupportedprotocolendpoint">SPARQL Service Endpoint</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html#rdfsupportedprotocolendpointuri">Service Endpoint Security</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html#sparqwebservicetbl">Managing a SPARQL Web Service Endpoint</ulink> </listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html">SPARQL</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtTipsAndTricksGuide">Virtuoso Tips and Tricks Collection</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSPARQLDET">SPARQL Endpoint DET Configuration Guide</ulink> </listitem>
<listitem><ulink url="VirtSPARQLSecurityWebID">WebID Protocol &amp; SPARQL Endpoint ACLs Tutorial</ulink> </listitem>
<listitem><ulink url="VirtOAuthSPARQL">SPARQL OAuth Tutorial</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksGuideSPARQLEndpoints">Securing SPARQL endpoints</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsSPARQLAuth">SPARUL over SPARQL using the http://cname:port/sparql-auth endpoint</ulink> </listitem>
<listitem><ulink url="VirtAuthServerUI">Virtuoso Authentication Server UI</ulink> </listitem>
<listitem><ulink url="VirtSPARQLSSL">Manage a SPARQL-WebID based Endpoint</ulink> </listitem>
<listitem><ulink url="VirtSetupSSL">Configure Virtuoso instance as an X.509 Certificate Authority and HTTPS listener</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSSetupSSL">Configure Virtuoso+ODS instance as an X.509 Certificate Authority and HTTPS listener</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/VirtODSSecurityWebID">WebID Protocol Support in OpenLink Data Spaces</ulink>.
</listitem>
<listitem>Manage ODS Dataspaces Objects WebID Access Control Lists (ACLs): <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBriefcaseWebID">ODS Briefcase WebID based ACL Guide</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBriefcaseWebIDPerson">Person Entity WebID based ACL Guide</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBriefcaseWebIDGroup">Group Entity WebID based ACL Guide</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBriefcaseWebIDPublic">Public WebID based ACL Guide</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSFeedManagerWebIDACL">ODS Feed Manager WebID based ACL Guide</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSFeedManagerWebIDACLPerson">Person Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSFeedManagerWebIDACLGroup">Group Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSFeedManagerWebIDACLPublic">Public Specific ACL for anyone with a WebID</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSCalendarWebIDACL">ODS Calendar WebID based ACL Guide</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSCalendarWebIDACLPerson">Person Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSCalendarWebIDACLGroup">Group Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSCalendarWebIDACLPublic">Public Specific ACL for anyone with a WebID</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBookmarksWebIDACL">ODS Bookmark Manager WebID based ACL Guide</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBookmarksWebIDACLPerson">Person Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBookmarksWebIDACLGroup">Group Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBookmarksWebIDACLPublic">Public Specific ACL for anyone with a WebID</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSAddressBookWebIDACL">ODS Addressbook  WebID based ACL Guide</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSAddressBookWebIDACLPerson">Person Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSAddressBookWebIDACLGroup">Group Entity Specific ACL</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSAddressBookWebIDACLPublic">Public Specific ACL for anyone with a WebID</ulink> </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSPkiSetup">Guide for Set up a X.509 certificate issuer and HTTPS listener and generate ODS user certificates.</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/VirtODSPubSubHub">Setting up PubSubHub in ODS</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/VirtPubSubHub">PubSubHubBub Demo Client Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/VirtFeedPubSubHub">Feed subscription via PubSubHub protocol Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/VirtPubSubHubACL">Setting Up PubSubHub to use WebID Protocol or IP based control lists</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsKeyImport">CA Keys Import using Conductor</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSGenerateX509Certificate">Generate an X.509 Certificate hosted WebID Guide</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSGenerateWebIDX509CertOSKeystore">Generate an X.509 Certificate (with a WebID watermark) to be managed by host operating system keystore</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSGenerateWebIDX509CertBrsKeystore">Generate an X.509 Certificate (with a WebID watermark) to be managed by a browser-based keystore</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSWebIDIdP">Using Virtuoso&#39;s WebID Verification Proxy Service with a WebID-bearing X.509 certificate</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSWebIDIdpProxy">Using Virtuoso&#39;s WebID Identity Provider (IdP) Proxy Service with an X.509 certificate</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSBriefcaseWebIDShareFile">ODS Briefcase WebID Protocol Share File Guide</ulink> </listitem>
<listitem><ulink url="http://esw.w3.org/topic/foaf+ssl">WebID Protocol Specification</ulink> </listitem>
<listitem><ulink url="https://foaf.me/simpleLogin.php">Test WebID Protocol Certificate page</ulink> </listitem>
<listitem><ulink url="http://test.foafssl.org/cert/">WebID Protocol Certificate Generation page</ulink></listitem>
</itemizedlist></section></docbook>