<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[14223] CalendarServer/trunk/twistedcaldav/test/data</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.calendarserver.org//changeset/14223">14223</a></dd>
<dt>Author</dt> <dd>cdaboo@apple.com</dd>
<dt>Date</dt> <dd>2014-12-11 11:54:56 -0800 (Thu, 11 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update demoCA stuff to also handle CRLs.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#CalendarServertrunktwistedcaldavtestdatacatoolpy">CalendarServer/trunk/twistedcaldav/test/data/catool.py</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcacertpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacert.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser01p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user01.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser01pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user01.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser02p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user02.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser02pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user02.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser03p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user03.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser03pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user03.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser04p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user04.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser04pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user04.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser05p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user05.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser05pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user05.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser06p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user06.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser06pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user06.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser07p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user07.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser07pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user07.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser08p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user08.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser08pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user08.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser09p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user09.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser09pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user09.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser10p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user10.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsuser10pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user10.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAindextxt">CalendarServer/trunk/twistedcaldav/test/data/demoCA/index.txt</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAprivatecakeypem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/private/cakey.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAserial">CalendarServer/trunk/twistedcaldav/test/data/demoCA/serial</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcacrlcertpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacrlcert.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsbogus01p12">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.p12</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcertsbogus01pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAcrlpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/crl.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D742499pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D742499.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Apem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249A.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Bpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249B.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Cpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249C.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Dpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249D.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Epem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249E.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Fpem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249F.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A0pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A0.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A1pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A1.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A2pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A2.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A3pem">CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A3.pem</a></li>
<li><a href="#CalendarServertrunktwistedcaldavtestdataopensslcnf">CalendarServer/trunk/twistedcaldav/test/data/openssl.cnf</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalendarServertrunktwistedcaldavtestdatacatoolpy"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/catool.py (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/catool.py        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/catool.py        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -15,7 +15,7 @@
</span><span class="cx"> # limitations under the License.
</span><span class="cx"> ##
</span><span class="cx"> 
</span><del>-from __future__ import print_function
</del><ins>+from __future__ import print_function, with_statement
</ins><span class="cx"> from getopt import getopt
</span><span class="cx"> import sys
</span><span class="cx"> import shutil
</span><span class="lines">@@ -71,14 +71,44 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-def makeUserCertificate(caPath, user):
</del><ins>+def updateCRL(caPath):
</ins><span class="cx">     &quot;&quot;&quot;
</span><ins>+    Create a new certificate authority with supporting files at the specified path.
+
+    @param caPath: path to store CA files
+    @type caPath: L{str}
+    &quot;&quot;&quot;
+
+    print(&quot;Updating CRLs for Certificate Authority&quot;)
+
+    crlfile = os.path.join(caPath, &quot;crl.pem&quot;.format(user))
+    certfile = os.path.join(caPath, &quot;cacert.pem&quot;)
+    certcrlfile = os.path.join(caPath, &quot;cacertcrl.pem&quot;)
+
+    # Generate CRL
+    subprocess.call(&quot;openssl ca -batch -gencrl -out {certout} -passin pass:{passwd} -notext -config openssl.cnf&quot;.format(
+        certout=crlfile,
+        passwd=&quot;secret&quot;,
+    ).split())
+
+    with open(certfile) as f:
+        with open(crlfile) as g:
+            with open(certcrlfile, &quot;w&quot;) as h:
+                h.write(f.read())
+                h.write(g.read())
+
+
+
+def makeUserCertificate(caPath, user, self_signed=False):
+    &quot;&quot;&quot;
</ins><span class="cx">     Create a new certificate for the specified user and sign using the CA cert.
</span><span class="cx"> 
</span><span class="cx">     @param caPath: path of CA files
</span><span class="cx">     @type caPath: L{str}
</span><span class="cx">     @param user: user id
</span><span class="cx">     @type user: L{str}
</span><ins>+    @param self_signed: L{True} to generate a self-signed cert, L{False} to generate a CA signed cert
+    @type self_signed: L{bool}
</ins><span class="cx">     &quot;&quot;&quot;
</span><span class="cx">     print(&quot;Creating new Certificate for {}&quot;.format(user))
</span><span class="cx"> 
</span><span class="lines">@@ -88,24 +118,35 @@
</span><span class="cx">     pemfile = os.path.join(caPath, &quot;certs&quot;, &quot;{}.pem&quot;.format(user))
</span><span class="cx">     pkcs12file = os.path.join(caPath, &quot;certs&quot;, &quot;{}.p12&quot;.format(user))
</span><span class="cx"> 
</span><del>-    # Create a certificate request
-    subprocess.call(&quot;openssl req -batch -new -keyout {keyout} -out {reqout} -passout pass:{passwd} -days {days} -subj {subject}&quot;.format(
-        keyout=keyfile,
-        reqout=reqfile,
-        passwd=&quot;secret&quot;,
-        days=365 * 3,
-        subject=&quot;/C=US/ST=CA/O=Example.com/CN={user}/emailAddress={user}@example.com&quot;.format(user=user)
-    ).split())
</del><ins>+    if not self_signed:
+        # Create a certificate request
+        subprocess.call(&quot;openssl req -batch -new -keyout {keyout} -out {reqout} -passout pass:{passwd} -days {days} -subj {subject}&quot;.format(
+            keyout=keyfile,
+            reqout=reqfile,
+            passwd=&quot;secret&quot;,
+            days=365 * 3,
+            subject=&quot;/C=US/ST=CA/O=Example.com/CN={user}/emailAddress={user}@example.com&quot;.format(user=user)
+        ).split())
</ins><span class="cx"> 
</span><del>-    # Sign certificate
-    subprocess.call(&quot;openssl ca -batch -policy policy_anything -out {certout} -passin pass:{passwd} -notext -infiles {reqin}&quot;.format(
-        certout=certfile,
-        reqin=reqfile,
-        passwd=&quot;secret&quot;,
-    ).split())
</del><ins>+        # Sign certificate
+        subprocess.call(&quot;openssl ca -batch -policy policy_anything -out {certout} -passin pass:{passwd} -notext -infiles {reqin}&quot;.format(
+            certout=certfile,
+            reqin=reqfile,
+            passwd=&quot;secret&quot;,
+        ).split())
</ins><span class="cx"> 
</span><del>-    os.remove(reqfile)
</del><ins>+        os.remove(reqfile)
+    else:
+        # Create a self-signed certificate
+        subprocess.call(&quot;openssl req -batch -new -x509 -keyout {keyout} -out {certout} -passout pass:{passwd} -days {days} -subj {subject}&quot;.format(
+            keyout=keyfile,
+            certout=certfile,
+            passwd=&quot;secret&quot;,
+            days=365 * 3,
+            subject=&quot;/C=US/ST=CA/O=Example.com/CN={user}/emailAddress={user}@example.com&quot;.format(user=user)
+        ).split())
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx">     with open(keyfile) as f:
</span><span class="cx">         privkey = f.read()
</span><span class="cx">     with open(certfile) as f:
</span><span class="lines">@@ -135,6 +176,7 @@
</span><span class="cx">     print(&quot;--newca   create a new CA - delete any existing demoCA directory&quot;)
</span><span class="cx">     print(&quot;--newuser USER  create a new user certificate with user id \&quot;USER\&quot; signed by the CA&quot;)
</span><span class="cx">     print(&quot;--users N  generate a set of user certificates for \&quot;user01\&quot;, \&quot;user02\&quot;, etc. up to \&quot;userN\&quot;&quot;)
</span><ins>+    print(&quot;--bogus N  generate a set of self-signed user certificates for \&quot;bogus01\&quot;, \&quot;bogus02\&quot;, etc. up to \&quot;bogusN\&quot;&quot;)
</ins><span class="cx">     print(&quot;&quot;)
</span><span class="cx">     print(&quot;Version: 1&quot;)
</span><span class="cx"> 
</span><span class="lines">@@ -145,8 +187,10 @@
</span><span class="cx">     newca = False
</span><span class="cx">     newuser = None
</span><span class="cx">     users = None
</span><ins>+    bogus = None
+    usersCreated = False
</ins><span class="cx"> 
</span><del>-    options, args = getopt(sys.argv[1:], &quot;h&quot;, [&quot;newca&quot;, &quot;newuser=&quot;, &quot;users=&quot;])
</del><ins>+    options, args = getopt(sys.argv[1:], &quot;h&quot;, [&quot;newca&quot;, &quot;newuser=&quot;, &quot;users=&quot;, &quot;bogus=&quot;])
</ins><span class="cx"> 
</span><span class="cx">     for option, value in options:
</span><span class="cx">         if option == &quot;-h&quot;:
</span><span class="lines">@@ -158,15 +202,27 @@
</span><span class="cx">             newuser = value
</span><span class="cx">         elif option == &quot;--users&quot;:
</span><span class="cx">             users = int(value)
</span><ins>+        elif option == &quot;--bogus&quot;:
+            bogus = int(value)
</ins><span class="cx"> 
</span><span class="cx">     if newca:
</span><span class="cx">         newCA(caPath)
</span><span class="cx"> 
</span><span class="cx">     if newuser:
</span><span class="cx">         makeUserCertificate(caPath, newuser)
</span><ins>+        usersCreated = True
</ins><span class="cx"> 
</span><span class="cx">     if users:
</span><span class="cx">         for user in range(1, users + 1):
</span><span class="cx">             makeUserCertificate(caPath, &quot;user{:02d}&quot;.format(user))
</span><ins>+        usersCreated = True
</ins><span class="cx"> 
</span><ins>+    if bogus:
+        for user in range(1, bogus + 1):
+            makeUserCertificate(caPath, &quot;bogus{:02d}&quot;.format(user), self_signed=True)
+        usersCreated = True
+
+    if usersCreated:
+        updateCRL(caPath)
+
</ins><span class="cx">     print(&quot;Certificate Authority operations complete.&quot;)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcacertpem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacert.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacert.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacert.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,19 +1,19 @@
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIIDCjCCAnOgAwIBAgIJAJcSURX8QvXaMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIIDCjCCAnOgAwIBAgIJAMqWVqVtdCSZMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDRaFw0xNzEwMjYxNzQ5MDRaMGIxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNzExMTYxOTMyMzBaMGIxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNVBAMTBWFkbWluMSAw
</span><span class="cx"> HgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEF
</span><del>-AAOBjQAwgYkCgYEAv8I/m3GSQLIXXYOdl+u00iM69OcjD3sAPqP6fRxXBQgxTKcd
-0vtuxIjsEA92Ou3JDdHa5PGuvzNqQCNJARn7rDkvd3SLHsBPONXMvDH1HY7X9oXp
-o1x2CsqPM2b1rlimjoON0ohAZu2+hmPbPyX50pdL9p7SnoJOHIVdRuJqbS0CAwEA
-AaOBxzCBxDAdBgNVHQ4EFgQUHPXVEDPKfX5kTieJKO9xcWyNyfgwgZQGA1UdIwSB
-jDCBiYAUHPXVEDPKfX5kTieJKO9xcWyNyfihZqRkMGIxCzAJBgNVBAYTAlVTMQsw
</del><ins>+AAOBjQAwgYkCgYEAwI72Y6/JkSuc1i9NtRFpXgHIKdPQttbghaIXHcdmhZ825zSM
+UXnDsb2O+RzrQT6qYfkZ8o+XBEmBMknLh/T2/sDrt13lBlRjMb24PBXLCxylcBAx
+wun2PIzoW8tq1YojBcmyO6fkDFycCJnSTQ+fYAR8nKvv62rLVyAX7gz2/iECAwEA
+AaOBxzCBxDAdBgNVHQ4EFgQUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wgZQGA1UdIwSB
+jDCBiYAUo2nuP7bbJ4YWQ6LMAeXmm7n+A42hZqRkMGIxCzAJBgNVBAYTAlVTMQsw
</ins><span class="cx"> CQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNVBAMTBWFkbWlu
</span><del>-MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbYIJAJcSURX8QvXaMAwG
-A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAXKHxL3x1VwWWP5ViO2u70SS2
-ADcdxGiBAm2NTGg5eR++uFQI0+u8zwH87QhAlkRKCbafuAe7/EgbVYUCJDTkl2tK
-xSGBk6mzLqNk/Fz/FLb7Y+raUxr7+bkm1VLBekQIGwLqi8CNvxQBETNLDhg/tOF7
-4quBBA/7T9Rq6OPZIoE=
</del><ins>+MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbYIJAMqWVqVtdCSZMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAny/wKsN1hrXq8xN+jvZ7H5gc
+ocwyh1IA+NILxJEdFS/RDV6NfgM83PRdhsai+NihMAuEgJ0v7+S60W9TbZBbmRnc
+P1wu5KzwEFCqKTN8M3ojF+X9HBbwSZCAKt4cKEM1MeX3TFvkDeqcPUenmEluNAhe
+jmBg3oeGB7x7i+tPEVY=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcacrlcertpem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacrlcert.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacrlcert.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/cacrlcert.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIIDCjCCAnOgAwIBAgIJAMqWVqVtdCSZMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNzExMTYxOTMyMzBaMGIxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNVBAMTBWFkbWluMSAw
+HgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEF
+AAOBjQAwgYkCgYEAwI72Y6/JkSuc1i9NtRFpXgHIKdPQttbghaIXHcdmhZ825zSM
+UXnDsb2O+RzrQT6qYfkZ8o+XBEmBMknLh/T2/sDrt13lBlRjMb24PBXLCxylcBAx
+wun2PIzoW8tq1YojBcmyO6fkDFycCJnSTQ+fYAR8nKvv62rLVyAX7gz2/iECAwEA
+AaOBxzCBxDAdBgNVHQ4EFgQUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wgZQGA1UdIwSB
+jDCBiYAUo2nuP7bbJ4YWQ6LMAeXmm7n+A42hZqRkMGIxCzAJBgNVBAYTAlVTMQsw
+CQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNVBAMTBWFkbWlu
+MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbYIJAMqWVqVtdCSZMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAny/wKsN1hrXq8xN+jvZ7H5gc
+ocwyh1IA+NILxJEdFS/RDV6NfgM83PRdhsai+NihMAuEgJ0v7+S60W9TbZBbmRnc
+P1wu5KzwEFCqKTN8M3ojF+X9HBbwSZCAKt4cKEM1MeX3TFvkDeqcPUenmEluNAhe
+jmBg3oeGB7x7i+tPEVY=
+-----END CERTIFICATE-----
+-----BEGIN X509 CRL-----
+MIIBJzCBkTANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzELMAkGA1UECBMC
+Q0ExFDASBgNVBAoTC0V4YW1wbGUuY29tMQ4wDAYDVQQDEwVhZG1pbjEgMB4GCSqG
+SIb3DQEJARYRYWRtaW5AZXhhbXBsZS5jb20XDTE0MTExNzE5MzIzMVoXDTE0MTIx
+NzE5MzIzMVowDQYJKoZIhvcNAQEFBQADgYEAMI3dw/c5WpPgs/2EtylY4CCvu/C+
+AoT0z6Yf6RLbn+RGZIaR39Vcwg529Ffn2XOxuI/dH9COAvvSeUU0NTzUx5zNwhaa
++V823L5X0/sLb1giDuCYvKRxikpNA2PZ2xwLJ2LN+FRlLSJRHyLdvyhGAM2FmIB9
+ywSC2NcUOI/fGnQ=
+-----END X509 CRL-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsbogus01p12"></a>
<div class="binary"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Property changes on: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.p12
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsbogus01pem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/bogus01.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,31573F86FC701C04
+
+uWomZnIXOyW18XlL1ukzvCnCrV7Clnj24WLyH3CFMAfEEQaMXI4EQS64+oaYO0Iv
+V/nQgM10ldyPknNEt7wtzpRf6SgmCKrM2IQUhrw0up5cqg/nZAG8sHu/cqhKuhCd
+L4E8bN25l7LvjEGTBejkknTqTdm7Zk/+HHTmzJIK9IOq8uRDRXFL+0diyMHxveLM
+JMGAEtz2yssTTjcqc5CD3J3IVuEP67fJ1GmeoR/lPJEtJgQMdLJUte427sjbIbM1
+WOrxeqTh+fVwb4IQDp0KZP9VXgDfYuU7iAYseJ63nt6U5NfUBD0QeIV2xPAH3jEe
+cO4T50EAbQedyPWdBuYmxllBeYggqrtr3ZMTmNewPbKTHAIdSnzmqplAkBRgwSn4
+xpXB0cMblfZ3yadZm/71L8z1/0IGJzX8+iDIBCd7lhWf7jZntm8JPHa505GLSOy1
+FgeiLD/dcbVmTkdkP1b4fsfnmWOk9Jkqu1ksaBYD7hxlc7mqbd2WhnSNy+vP8pfb
+7A+b6uoHHv6AK/zesQlTTZ0FbuoXKT+jxiKmWxBGIahBFTwGJ0MuPVkDnl3OFws0
+hbGHQBXiiMOtU53LvszM+TJ5oTGLFLlvudEfj54AC7PkKF7J5Y3SjK0g6XZ9kjIp
+OIdduHCFUnL4iVPcCWy9StgigRRN4yCYdIBTOT8afRd7o4P/Vwbu72fMGfzXzmR7
+kxr2f7hTa73MlGnOM+m3h0ki14TZn5+4DTt81FAP0DuS8ujceQ+u9hpNa5oTokv5
+6udEpfUqYXG6MfmBNkPtUb0BBzVbBhBlxQ+IxJzf/L0Q/lDI8cUJ0g==
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIIDFjCCAn+gAwIBAgIJAIVR2uYEx7R2MA0GCSqGSIb3DQEBBQUAMGYxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xEDAOBgNV
+BAMTB2JvZ3VzMDExIjAgBgkqhkiG9w0BCQEWE2JvZ3VzMDFAZXhhbXBsZS5jb20w
+HhcNMTQxMTE3MTkzMjMxWhcNMTcxMTE2MTkzMjMxWjBmMQswCQYDVQQGEwJVUzEL
+MAkGA1UECBMCQ0ExFDASBgNVBAoTC0V4YW1wbGUuY29tMRAwDgYDVQQDEwdib2d1
+czAxMSIwIAYJKoZIhvcNAQkBFhNib2d1czAxQGV4YW1wbGUuY29tMIGfMA0GCSqG
+SIb3DQEBAQUAA4GNADCBiQKBgQDKhPtQXccZI+Iew/aY6MNKsJgFHLaNp9ZbChcY
+0T0iUjjhGkAv28SftEbxCLzD0G1xEcHztARq+9S+/Hhwd+ougygb5VP4nq7tnXBx
+auXfkGPDsMKJEZQ97YPuac73wvLhBlhvhVCZAELHHNFBr+yc+izi0Qv8ocEypRjo
+tX4cswIDAQABo4HLMIHIMB0GA1UdDgQWBBR2s1CUEgvLtT0572FupECEoch5lTCB
+mAYDVR0jBIGQMIGNgBR2s1CUEgvLtT0572FupECEoch5laFqpGgwZjELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQKEwtFeGFtcGxlLmNvbTEQMA4GA1UE
+AxMHYm9ndXMwMTEiMCAGCSqGSIb3DQEJARYTYm9ndXMwMUBleGFtcGxlLmNvbYIJ
+AIVR2uYEx7R2MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAUVyKDWmf
+O/e1swrLKEtGdJpJLndsWWoCbJGqRSeNqw/BKhIxhLtuz7LD6Nu41K4Zkv057Dot
+jsOaKjN0s8ZI8O7vUGpeC/TLPYUW3R1axa2641SYeIc0c8wtxQ1/An6B6VJksl54
+yFLvmAMCD0Z2wTq2B+c7pWBSKQyEOA6ilQY=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser01p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user01.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser01pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user01.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user01.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user01.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,CA79E26202AC4534
</del><ins>+DEK-Info: DES-EDE3-CBC,8A88E1EBABBA6F51
</ins><span class="cx"> 
</span><del>-77/5R/ou0mkVJtIqweVpynb6IjTxyqIAb4pLq+meAshIL/p3WYZCPUunin/+uE6E
-31ubEOeXuREgB2Ood2QCgsMwrFcYhqficMhmMUZhhLeeVWflevggmv/6PWG5ZTCX
-kJ0/YBSefvgS7cBmmV3LTgW8TDl7RiRHGmS1RS/qmtXNam/w5NYFGriFvBqfp5cD
-UixSlypC4mZPz642P40fowNAM/OFcK+kBUoIXRX0dDXD7GJj8BQtjNz2B8Qhx+u9
-GvmR7ux796aykCj41jpX0WejzFbf+ZQJA9txkT38MVLU0yRZyaERMAdwl1fkqlc8
-RJlr4DwwZ8EN03rBr2EoPfLFiUw5YutPdNEwgdcGLQKAd0ZpKfmjTWEXC9eia49a
-fmiS98nNObJS9tHnoN6gDdOgM0VDuAgCuKsX6UFRiViiQGKqWjcjD9QH5Go0NU5z
-iH/hWjvFF3SJbYtgXQ+qi9pPZYY2RbtNmG0wIvT73FDAb3t98RJmAgqnzolntWIT
-V53/rmmZmPnfGn50v++KERFxuKK+kQXqAfrnODZbmnQ1l7TbOXwX6H7T2BMezkvk
-Zgb/Xc6U0CefM/QyRH/JfdXEst2OcTfm9mScCy0OeXtjL+9wyoTYDrfaQhDEwHXT
-mdXT4AuZ7poXZ6u5t2OO37izvLh95xZMmPuMiOtX9UZ/3Zh5OwfpjnRQ7lEVaiZ1
-HAX7xqE7RaAB4r4A9z9+lBGdflG3Ts34sy7238UUCIA5zLPaI7AgT4d+yg5TeEs2
-jqhyxF6DvgeYrMW3XLhVRDAd65TRizKNpHnq0oCKn6vbYl3DaXaaPg==
</del><ins>++WEmt/FpGGxWZofX1hsDKWzig6CpHxmj4xn8PCH/tk/9LlFx14J8YSH0q55xTiaw
+OINPeP2V9lHes8gH8ATJsv4Gv7Z2F0A7qxQH7qIeRybRyBRuNi3wXEDbL5Dy99XL
+rmIWWnUs+eQLySBCVKXValNjUFPLsBwISM9JWKxLnf883U5RyWw5QZhLevvwgy8e
+HVPJIGg63tBwc0sE76CT7hSrbmhYhk7kzH6+iIQLx3XPlwT74JbPkrARORJ5ESZU
+gwQsMmQ7sUs8nX8f5Xir40AR0AdY3qSnt9qG5vkRIqPydg2ZQ4/I0ROgJBErPL+y
+t/zBcRhDKdKzWzc3B991934uO9Nj9lzAkjNqVOR7GA9FGzdkTOEu37Glgc51PEI5
+z15KpDElX4zjNGG81NfJr5+wBGhjDtQl6N54zoueT26Pg/mQ7Ih7JB/V3O0x2/Yn
+DADN8j3o4wEW4aB522bszmF3m5ppmq05Fyui2wUB4Z8h7Y44BXiPmfuadLvYcerb
+FHeAYZcJjX/OMy87tOGSdwZSyBGpMtv2sfavj4GSUim7Rum64gNVfp3DNpQ0i/ws
+qxKjJO8dBJJ6rxduhdaJHS6oHc47miQiHzRoPZJ4tJ6Dhu6fQvSU+zqx2ohtS3Rp
+YM5ph0SSODKvYdwV5r8BxwdQBVUHoVHrvtSc+HPfr5wkj6ekTvuCSfhj9yVKp+s8
+jcCH5TStJ8wUTNY84llhE2sF+jhUKjX8BXsTf61LQhNvuXX69mrfH6Um30ASvkxW
+hlXAV5ZX5pRFnWKCAPiA2huWdvjmaKIl1vxlMGA4vuathDTuLhREcA==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXbMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSaMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDRaFw0xNTEwMjcxNzQ5MDRaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwMTEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjAxQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQDG56G+IxGs5Xd9RqZOecBdAn3LHofqSWTLzqUcqSfqpE2z
-CZxogT7jV1bLezMER5HxtJFV09264e4B5mT73DYAmyheVuit4aBlOz2ezEhat9ZC
-ObJLPwbyfDCXQTu8KnGPMFtSZlxjATamnn5lQ+iW7P8+jt955Z5JzVPaSSRA2wID
</del><ins>+AQUAA4GNADCBiQKBgQDCOWy6vVPYHLpdbwXnn6lyKwyzoxh4nXBdcR4NteO9eDbH
+nyyqSFLYBaSuO49ZxAut5NPAUlZPPxLYgwbWf4KIzczWKopxDGV5glZnkmLzWef9
+6Xg6X0LMX3MhSIPfon6YTvNfAEphZD0Hwzf+Qz5F7tf0OpabmfrZlwH9Wy2sSQID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUWdjDxNhAvXwlG1b3YBuGgmpGWeQw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAiZyBco6Id5qtp0c+x1Raw0LaSJbMJTZ/tgIEczLDsCfL+EFG658nD8VIMGZe
-1ydAnkqMhk3k9dB5gixLj0O132UtVJo7sP5p+ugwWDH3EIbqqGLHW13lLevMDeVm
-R+Xq87AU6pdDIXYE2jkg79f1e4tAvfJuAzYmwzEkO9wvfyE=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU6huJznzPiobMob/dr6xM5oVeNyYw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAZeYYebzwvyRGA5+VPd5wZWg2Klet9terZXlhJ2qjFxIHcireUNAZQwPGmoqz
+2tiU5IM0PoGxCxMexH1SM+iHmhTDVkvczZMJop5Qu4HITzouL6BH7f9UEbgdJn15
+OUJ3V+e29FUKkK7sE63ncwAz0Xmsh5bORb39UGx7D8hXMZ4=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser02p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user02.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser02pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user02.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user02.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user02.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,2F17A8147D51E9AD
</del><ins>+DEK-Info: DES-EDE3-CBC,8AEC95114CECD9FD
</ins><span class="cx"> 
</span><del>-BcQhRWO/Y8AkRyPoAQsMmqm5OFPZY5d/xwnyM//8qsCr9eMOTRM2PSLBfiprDY2+
-z1ZGL5txfcFfjfbjtADAgMlr6GvfHYs0wg8n83t/Q4Rs7P4Ds1KS0+DfkreEjgsJ
-uPeKO4dakJ/+WvJ3lCSGl24mtICFH0toq6RZ0lLs1JvXVjC3srVOydvIPX/fMoQ4
-Se19P4K5dDFKUH4EzBz/aYg+GCNQxOQpgLCuLAwzLAHUN3ZFDkF40uGBjYQ/Mf6y
-L6rsBZm0klgpXCZx5x8ZH8T/ouZncb0w9SHEWy8HZ9qW8scj8Txc6rGRQKtsk7y9
-qlwwxc6J7W1KuRErHiExRLzCTaW3GYpSM9bP+7xxU9sglDBqozIjKFM2cQaCJxQM
-ZMfvf6U0y72MUDXQwDk0JnAqvQ215cZmXroZGZt11zoNYObvV/e7zadbSb1ioXu6
-PlqBV5ZCpIxd4mkZnYAId198eoGIDQ5N9//VT/sFiQX1v/2GG1q1ZwYWdXQpgtmJ
-H744YXxofddNLicHmDEkHtEubHS1FRKue9F/JDWPFS6zrsvpa1GaHbTgeOKiCXcJ
-edHXKMoa/iyKsFWwFtfqyPm+wrUg8tyAFRqBO3vuqSDB56aol9bTSRDhFH+jyyb5
-QozXXqRgiYNUhNvPNISezmQC8LBmi1ubWkrDVvnLIB2y682hwvSU8Ch947s5r2Ka
-v54VvmOofKzyPNoIre7prLfw7gTz0G3wbKbFQJihi2QeQLzQSgAY3wNKrvMz8tRC
-+7+cjHnZ4Cp/Q4F5ZAxjyl6Dm7ngkxDTbog4XNTgWI3KUwE1YigeVQ==
</del><ins>+zhd9gm3cgsr39jvcz15vUoF+EOfeNUqVPTth4gn4gT2sGfBtyx/VkoGCJXTE9Xxu
+vKNwJScctwpD3RWgCw+SGx/TFQv95pyMbx25Ef3n8wzko+BI08Ix/4v4eAn6X5wa
+ATUwxrujc4RDlN+7eXD/uHle7mENlNrzVDtvqotrmhhGzyam82OeiidHa9GwE+EO
+Bga1/TKyksEUurEvv4gz93XYULlXHbHq0HrOi2c9bvVVI7OQBdumtqGuAo/m8y12
+dTRr/K9QJqlzxJSIHrGk3R4BwMcu2qNOlomFDz966+vVz9mojJKWdk5yKbveYU0K
+IFP4mrTQKJeEPLr6FFGi6lp8EoKf0RXdWcb/a+BcARjgc5ilpf44aa+olBhgC7X+
+mxyCPzOnyshD1nS++5KBOq7enQ7HdV3c3GaGBW6OaY2e+gWQNF9agvCm3DysTyiU
+QQj9MX4RN/7cGLGkkbXhZu0NU9/520/uNF5xhXxsc9oZ7G6Zk//dqFqvrgyxuAPW
+2HLLszUHOJ03+i+r8dk1MgoXTGDXDbcj4A6+XUO9hxxNwE+RwoWW/kxoa3myvJKi
+64hfcUmEaYnatDmdFYPLDUkh67tZWToPjzMvy+1YM9GTn+7RBCkHtUWhW+pNIuvR
+Q2s7xe9eau0EvJHz9zpIobUT5LfGxSCNcvXox0sbfGTYbQcdseqFTrNIDUHEKdgm
+sGYfKgD6RKzDSn5vzAS7EE7kIkUq6dUo524YgDsaC0KVJN0FyIhNWcs5YM9tWzTA
+r/6dlZls/snOiG0+9jen1VIF3fyvpcJtbX6GovdV2Q0=
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXcMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSbMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDRaFw0xNTEwMjcxNzQ5MDRaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwMjEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjAyQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQCkE/v5XmzRnOStXzP+7h8ART9eUp1c409g1nlxxVArdGE8
-QJOojh7Nr/02YZExY0rGgHRPHobbAzvY66bXFVxM9s4p2f0hO2zE1gpLkfYvbS5Z
-7b9uAfef4z6vOYuPl/CmIlnqh/IVFXF0UjekGaG08qhcEsXkXJfeTtB1uJxeLQID
</del><ins>+AQUAA4GNADCBiQKBgQDrbiblj6essyvYj0BSgoTLAm2vJ7V/rm9VfzBLaF3wJelA
+8UcnQWVIL1LaGjAFlO9qM8xykioo7CbGnHb6OpCzrVYrd+2BtQ+73klXFakObZOL
+TzUM/zMjI0KI4iA7Kj5GTcuQ1HBnxDVCRG7apWq87eLMTdAtbrCfgzDg9BYxJwID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUdR1jGv8wId5o4QF+z8Vsdgy7vr8w
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAn6QRQk5i6q95Mt+xQwp0IiIHAOWxYLaQitXzDbHnvhR/hBy5gjt8TDTW4uWU
-3hiv+xNgJ/CMV50a7W9QtgoLQX8bBigcNdsaNI7ZvYvEPUU8V4u6WdgQbiqWof8J
-Dw0IdqLmkHwtihXOI1AoJa63/RMdMxivBc6VeUlyIfCRxjw=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIl3r1/7mBM0I4jIOGwXYeKe4f8Mw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAWMgzjG51C1aKvDy4K1PB08tBh5L9P8qTRrRLxxG3Gl4IqX4qmTmiBfuuKE+C
+71Im/2yRUZxWyPIw/lY/PTA1O7DXFo/rtsZMv1skUvUhr8OZvYzpGbBazfyiJDYI
+SYjswPwl2BIuLeo+4UCm1x9YshDq6sBHD1MvBvE70B6413c=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser03p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user03.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser03pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user03.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user03.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user03.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,AFF718FC4F40A11D
</del><ins>+DEK-Info: DES-EDE3-CBC,10E32BC4AFF5247A
</ins><span class="cx"> 
</span><del>-s7mzrrHYbBWuh4vNoyIl99yXFR1OrRZ1P466Pm5EEi4pNfq7ifVOyV0s1VaTJM8Y
-cEqyRAPjx0C11Tny8X5Xn3aPl3DVG9IyrDXRvCdR851AW1iTZDxUlov58QDBqXZ9
-9TlnwozghZWKFfFyGjfxISbPw2z5pmZ/UvulRzqnBWsUCeLxGlACoGEDbk7r0OSF
-mpF01NeoLhLBhd4mxXwnAImK4QVNp6ZC7Q928H8dMmZI71Xh/u+8KCDFNdG+Jcsg
-GP3tYfqkF2d+qqKMktzY9Ou+cWuDy0TZrxrHVVSV4cl0RHa7+hegfN5ZQd/WtV7N
-dEa34eI0sN3CmD1LD2i/weXKy5wY8OGZpnyb5s1fZ1nzXXweKYgLDXiIp+LRdcIU
-E0MnErRP06Qp8WcFIOzC7SQwhhGJIxikwek5mYavFixsAO8vmGk484DWIj0IYG/H
-RXYu5UO7soghBAdXOjdp2+k+hRORM2gaSP4yZWDy4SYYZIhKzUdzY5EuAxqKiBvc
-PTCfOZajHWkvRCT+26twi0fbDvwTiRlHXGu0xd9HWY1/NFQ3kyc/PBHohX6C5JDU
-/UGHXDIdZgtxWs4WI/K2Yh3PG0kpN8U2Q0XeMCg8YufngQmKAbkEQUpQsd9jGoms
-4a1HdhkTYLD+RqyjVHu7DCNtP6T0HF+75d+EO/XZ3wi9ZDRbxjbVw4S63YT6MSUp
-J5rDXrkBgWa0ybwKjAoyyzlEOBxmI9yfvMwfU4v7Z12DwboQI8zNYejOVyVJZ6/9
-nFIYiZjC5NeTisyO2rk0JnBJBUeqncnXzT5UsVmf1gsXHn6+PCR6KA==
</del><ins>+8bVireJGaGMCf4kAdcisw3alejP4r66dxJs5016x4RoHFX7PceMrYMdg7pQNyAUy
+Hh4XcOYLXA57iXwy++m2LYPDFA+M2nIArmek7cVNlx7ryjKuLgOPwkrdfKtswyLf
+jDePGGsInMcEkq0OH9PxolRSpgrIy/cx8M5RVOg2AgjUbfbYFp0BEq5evjS6OfyQ
+Pxdediq9RTikcs+Z6QZgxUlrTuSXLbzBkkfNcs5vEyM0YwuZeKskvArOkh58h17E
+FAMHRwLUtgu/vv0AnyJvc9xGPzKpkzbgFTFXfEjnC44OrTMICkwCvZ4FidarbzPx
+seMxTV93QZcfrdDQ3CAuIsa+/Wr9zQJm3L0NzZ80K6s2sqLATSB6yfl8TlpRpyCF
+Dzxuz8zp6VTQGHTzgLT12qxtTSKkh2zN78VukMa2akv4xu0XN1ckiaYMm1sLvhbY
+m2xaZd78kCpgSVkjhIcVkvnbtkzhLwR71FurgCWxGKJuQ6ObBW/duTI/WsMIl+kT
+Mhh69ZkjzB4wMG3KXOT7cNDOFqI8cW2DMpheWWO4MCpvBpncaGMkPr3jOuts9F37
+StEa1/wFt62vz6jRHYgWIFl0DrRQWtVQKlk2H0oDzR5dFT5MrABHjEeIdA/+giY/
+nJqwVNaOtsXcn7XqFDNntJ/UU0qrI3wwG5LG+5tkEC7lRc7yex/Fi7WA8iOHkgd9
+XmrVaY0xhe3CwSWpeJS2sMPw492PoYSTSuhFEjmO54LGL5fHlqKniQ5Mm97t5hz4
+8MTDIRlZTZQke1p8nkZCXLV3u+iOH3AHTTtcU0KQ4yw=
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXdMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCScMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDRaFw0xNTEwMjcxNzQ5MDRaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwMzEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjAzQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQC4yj+8f/h2iZD14+UijQLJhllAEbQZU87srh+p9uVr1CS2
-DwmWmFqfi+IP20zMN8aibb3paAyvgWM/kwZcm/1YDDDQnDnFIGPGkv4prd4gSyEq
-Xw3ldiB5PHLsXB7mgmEuDZj6MC9xLbgyLLi1jEjMj3CD1ZQjJQ22+TEZLLZ42QID
</del><ins>+AQUAA4GNADCBiQKBgQC88nnuQYZpdFsPVgbXrLesVP5Tg+NmjpO8SnjbkTMSxnCs
+FLAYPZ1mqmkbvv68rc9HS9m11rNUo+Diu3jdsrz7o4wBKj7RsM2do8znMAvLEAlA
+J+JLNxogHEKv9ZJqHr6HKccJ7TevPGeTWbOWnaFcxeM2bAe7LmuHEOJLiVIDuQID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU11jiW6Vki5eaRyE5Q8BuuYJ1yjgw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAde5YCtNzfnOheO995M42QC9y5DlZ9ovFRw9vGZrDSwWtgAHa6paZvnMphLrl
-TIqseCjtm9th8IaTM9NYSxAmIqSd8VFIPeThLrwB+QgGZSp4LPY8vX1kV2dkfZoY
-nMgaVGroqVKtyQU+pPP30J3QaXnOL7GLhqEMHpURG4zLDrg=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU9HvR0lmwY6lrgetm9wHBKGUc9A4w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAKXbNjpSbFtz7+L4Nr2cP69rnuYFs7+pd87zK+8DVxyWPCcsSOn1KaVPxZH03
+HZ+y34yLqzRRD21IY5VqKk/kUt9cHo52c9DLxLyQ+zWP1qf5r99mRyqAG/ugoYKj
+PiaY7gcROfs9jhPZMmOcrZ/5N8OwKvv08Xxy/IbTEeiO8vk=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser04p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user04.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser04pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user04.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user04.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user04.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,E707D57D6DFFDE04
</del><ins>+DEK-Info: DES-EDE3-CBC,1B4285FBDB64815D
</ins><span class="cx"> 
</span><del>-6fC3nq0bjNF6Gz/aGzc9kQD3hI4iNS/mM3UayhKckbq2wSiaDKmXoxpz4BDN0YDi
-KpFjUjQ5pzQ4rfg1QoYwrEkZEa9fvToKZz3G9Z54Nuq+vbQ/asEsti025z4oufUp
-ymO0xvYqbmB/Y/RwTLfJF1i+tXwGmF7ljBNKW4pj3TUG08QuBeksBsVgmSyCywE7
-tZheu1GmJ1hVmMyODdjwZbq+WXGINAyvtWTk50sybxWF9UVYOgwfZkiMrA5vv7RF
-nkijlsGbaKgQDh+WoPRp7cLLnxmLTN8BkxU1q9i4LLad7GmRFmqpy0+aLXJTjiXJ
-FUhiWmQm6X+4q7tSGQxNpbfn1a/keAoo8IcmRoQNR1FHhM3gyVwo9rLtCMlUBKzI
-mGzwr06cOViBhUlEiOori8ixsmmdwhzpA6OB1g+djegBqlQBH9g5nfkiqm1cLR78
-4mJazdPU9tenAflTjnwNBFEZ7Svqe6+iILkHlVEB0RqYVVAGjV7gW6D5dHJPgOeU
-Q4u3BXqCzi8+9UH+Z/8+SQHQtVFlt5EucA2y5bYene4dhyZ0W2KCkO4JvwvXpDsI
-g7cCxvkJniyj39woF60F83TpYxvklM6XgOoa8cS45GFAIe62K4xHC2zNYY/BWJHJ
-Ry7y3Q1Qq5yMcokaYOzvJW67TJZjA//UEKImImU8aJFK6yoMyTjMxpewp81LioD9
-QVyk0/9yErLI7sCfc/IohA8M0lgYpuXlvyW4scsS8hul0r9NLtQq7wwdHPmKvgOI
-lcK30w4sasdZzda5yWygLD2T13xGt4f/g8vcLSBva/s=
</del><ins>+u9mS0L9FgUQZlmZTq6g1VcaEQ2cuvaQEKjlev2ZjkK8MdDlZyNtX4v+708FLfm4F
+FY+NMrIb0q3SRJGkQSLSI2bL++p7LyanpYZwg1G99e2aVHVbt8hsRZzQtYcm8uku
+KqsaJxVKfVY5T1M3Txo7OT8ur8EhEXddodB6Ejk9xDRmUblkgi/EY/tWUGL3qaGU
+hKvq0kSSeXQRn3xDvwT5K/B1TC6hIHqHvLx3FpB9pLYd6AeM3WUAykMToEKZiKE6
+LrTMrHnhkteFAOjNuAT4CMu7em26Bmo9dEhFk6tuyGTlcxnlDq66TupyrCdzY53P
+ACJGz2O0kCpSjfh59gKaJ3rEdrrsNesZszcBXYI1Wdr8Lix0HcoablNcDSEXHxWM
+lV1GhLD7I13YzeFUugHBIC6buKXSUJho3+kC1Ro6HKNfxwbWBzqtf8KOpTk5H74X
+Och1B8eEDMUOZxA6I+23J3LPcQkjZ+ndgPPk6DJVL5QvwXqSXlN1CJUA8GJ6YxW/
+YlbLRhrjIniNbFXUT7WodRX6qyHfQgG9u+b7uLX/3ZvBuAPQU2rgMbwqVpE4e9HM
+dSdXdhq+qCwbd0437mZdvuF/WYq3nAmZsvCEIdLT5G5l31/ajf2P4eGL1pp4Wx+q
+vGEALTNZbZvV6IbQbgpPCpm3MYbLg3f7IGfKWNu/SsTiSBLSJ4b6fwsZnVEX9tQ3
+3nsHrMpugKnDni03snnJ9zKhxVY/ct+3JCw/1JVX5jTrMmumLTUw3LW5GGB5j+up
+pwVt7tyzZLHC80KvC+XVGEqrvL1G77iHEDEsH2BDvinbi+yDek9zMQ==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXeMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSdMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDRaFw0xNTEwMjcxNzQ5MDRaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNDEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjA0QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQC1djVn/b+c4eUTdtLI0hTaOwa/TI3SdFO40qyWnzDduXjf
-qqgzZnDd2hirFh5ws4QGO3JWIbFaApKlWpoe7eUkkPI9kHmqsXXjb1YgTkt6me71
-LHufTZ8WpU9ZqzJhT37GJ3YX9Eq2S1iPtygvXeoM1eSx3rDwiXL7FHCiNqtt6QID
</del><ins>+AQUAA4GNADCBiQKBgQDRFi9a5qvM7uDSd3MQUgwzQcKgmYLD+d7rPoDuuGesZnut
+YpT2y0o9HyVYtwe13oc8lL5JObEUyweDRiNcUTWUgsbvzxxVNEzf9OADbSH9nR9/
+ule3xi8Bj9n/rDyBYNNYbJSBI32CZFlbrGSnxG5OoOdOVc0G4k3s2QrBlXIwbwID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUzwn6HO0PK/T80cWF4hHC/7mFzBIw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAcGuNpkrftcBkXTb7yCQZ8irMrchNZbizv6htCNKnrWldIdX7qAGTJo6WdWLO
-zHKtqmWL2PQMBPCY93thdh4dfBjpFzWYE2ScoQ3I9B8s3CGB3v7GwwI6kpAw5XZI
-Gkfbd9ZiTUDD2KJfPEGfWZrH9gcXwciUXHRLF0Qx27OM+OY=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUi4GtAxZ2RjQT9U7TT8Jzrb+TmPgw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAf93Dh2pnnwJ8/ZaX+eywjBzqtDU/ng+9U08gXVzNK0JQNEX5JxLkqA14QCyv
+/NNnTtfwFah3VKyMvnbII6DfgYa+5bF9+FduNT4T1qgsZxjWHv2HjpttDhjCp6fZ
+8bQ1dEHZBDFoa8S1T31lZAKu7QjLn8XtvzZg0QbvDy1szJw=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser05p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user05.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser05pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user05.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user05.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user05.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,30FC302A7965C27B
</del><ins>+DEK-Info: DES-EDE3-CBC,DEA3A9F344D98259
</ins><span class="cx"> 
</span><del>-Zk63Tb5SD+e1SrtWiGZ+UYBC9phMdgFk6XEaUhI/9a9ZpaPv3tJ3W08OwpBT2tN9
-6rizOmMQM0RnepcmOdsrUIclIrxVPFAsaOTi6JkQB7aLNnfHBHRIUfsx555HaIXP
-u8VU5aqghX/MLpUHrsCZFXKchbx/yiRQh2nYNmlwprP8MMTa/OJFImE63JjQNakl
-UbPH8qjtMz+sFr9hwOuxLjv0/t3myRlOkjEzOkvKpIcswKYp+tL7Ucbi1l5/43qX
-NKKLogD31e4WSr5k/R0DrJ8fXP9BQRHFDBe4XnHLseQRFEA6WpAhNoq77OXwM80Q
-uIdPvkQzcT01dLGx5TZhpy1h4CSt5RTPIoyz0u3u/c5AHnD3pdarBnM6sZxuABW2
-0IYNdJffOyxpRD8TwVLPQxGiAnHugOLByzO0zozRHhZngf5r/96Q2hPoHJBoX3a6
-LrpbedLA1v8r0LQsuTB+ldqiNOfJArIJQoemfMdvf0FqVH5CjoDA0eXlX7wOS9Kw
-aDbi3HIIN37jYGshC8xOO5thFxCaCWprD/IHhNacOnRgVaTU4gadoVnGzYpXt/vx
-pizON3eLaRqhNI6OC6mqPa4VEEOtZg74+dNVaH7bK+hXD/3sR/0HZLaKqH2fizhe
-kA9YosVrH93BsxTpm8CtNJXSZY024cYra1uqdMEFVVvSjLzZbz3LJiKzrc2G7OtR
-T+5YNqMJAyqtNWseEX4/SveNIiDRpmucIHbbA3KVD4Eymcklja7BuFEgW7C/yLZv
-BTH7H1A1bWvel6NAyRc2m7G8eyxxnZZqKsAIj0pZD4Q=
</del><ins>+H4TcWD3E7ampKZtPMcO9aB77kA2NZ8lMrojrcHxio1M8GcifOfC9MvI9SR98XNSP
+4K+uVcLtGY9EgfXBBVYuVS08q+7Mp8BR0Ai4HkLD1WlCM9cfU+TEYzyeebqO3IWz
+Z9ryqpMI9IgA+YrN3ospPM5cFnXBiqXIxgFcRpqllhbcIUuQpCCFZ30Mj9M4wPIL
+C6fX7/h5PChTnX82EfOviZrcP+tgHm93Ke8STa8pM/zq9BKBGqacurg5eTXBRMba
+o1FbWEBJYObRVyo0wUQxvd9ROwYkQ7VNrINgSO9Wyae58SBllB/PrboER6cOpilK
+ons0kBJqxto0CRpvafX3Td9CwhQqr/YuUXDgTPVA8PGgi5fa7kLAWbt4xNdmz3wv
+YN76Neg22bMD8rdoEeDhWTvVGRksQTgY5JkLMSwKVGiJxvNb/3o1eBZYcBgIJlYR
++coZ2QndbGFJjIKwIDWY/An7p1QimgdbkZi2fW11RlrFtDRoI34Irlux3ouKCGSu
+5w56IvFqdVUnoZckODfFDHlimIRPGIN9TqwOT5KPL4TUr0hC65QkILzUCuxGFBv2
+0CwZq+rwc4F3w4hchAFQoJ4dEaidTwQFynP05+3U5d7BM9pJs/3BCmKeEcrzHaPN
+1Hubl2ALnmcqqBfdkJ+o5ygM5hnHvAlYbuXUHMigw8BUOOPAZFiP727OiLUFj1rT
+jhwOk+b2Sg6MM744tB7K4LF0VI85omet3e1CJ7yJPlVKtkAt98T0DjX6gbtnJfcP
+abAzyFgnic2TzIKpd/h4QXB05xu5QwsjYZ44Y+DPDEhrqh7PfpqqEw==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXfMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSeMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDVaFw0xNTEwMjcxNzQ5MDVaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNTEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjA1QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQCuhqverBz5ABiO21VAJHcT/hi/t8TmI8dlHWcxZyUtllBY
-MVb1iCOgj07drBh69hAHhsCuNnerjsZ0JzpSppC9/xx06sDtm1F/BqKcRVCYuq3z
-cos1OeVT8+7VtCbtPZRPzBtL3dLPH7DIIKnAZZuOqSWOmP2gXqoKtUJMJwHGqwID
</del><ins>+AQUAA4GNADCBiQKBgQC4dN34znSF17Jm49xCvyyx8LHVaJLOeY0Ng8nrlfrvC2+G
+exbVJ1rlQjMiC8l+5h5fPvx6dYnzjIWB0Y7BORtxqHhaq35TBlePbMVnyjwkMCUC
+J+wVmAnMEVDx5BFGL6sDGJrnETfgY1N7WmOrF2jrrVyUAHA1smhN1xWSiKxm5QID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUCarYPsCG5CSiAHKTGMXWboJNWWUw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAuJMTCTxRpWyR1BSdRYFB2Ke2HjAyCZpUY2Ay+PypHa1LJSKHb4M3psfFtZl6
-Jl7FtJL1Um+dOq44KQ9vxvadhjodUcOJ086rzjBraIOEtpV7sPK5tYaj7p8+RATn
-VlvM5HvV+/JkDXkdw6gUqmUIBuJt1SKmj+1xJgrWUnmnbTE=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUH0tlZUlKXcstKFq87nZKymtYoPEw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAGWJi4rLl/YLSpO4UZXvWNEw3lU+mIjmwlvkP3BHuvIH5omJk3DR1Ph2Efb99
+2IHsbDeysQj/vBCNwuajSD3el7hg8rX9XADTvZmZA2Tc03xmgShJcZapqDlk1GuJ
+6Se2EQ6ij4dTlW2pMQutkAtdmXoM5gHjdqHiplFd8UVexPM=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser06p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user06.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser06pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user06.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user06.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user06.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,AB60544FF549AAAA
</del><ins>+DEK-Info: DES-EDE3-CBC,945F631FF73E81D8
</ins><span class="cx"> 
</span><del>-/P9rhhdZp4+AS37YZD404k2hUp5GnYft+Ima23PpFt3WhTWVlGZrvmluS9u0aEoy
-+UenuOnIzjdRyw14VSItu9lqMi/7GMhSHcbIA13+GZTztVNPf90USOLhkZcaZmz7
-S3x13Pu2WIkKY+AJxVqbpKxukngvJuy+HL+LMCIj19IP/PYNmrG3Sda/9xQnVRSt
-IACbfggPNsL7fMmnsiZOTqZQUrD00yOoIY5+qGGxI0YaGyeMBtvFI2KVL4jSW1W2
-ks3Jl6rdvD2KZtUQWNdKMsD4XPW/VeZ4cVuuIBHFLedd6P6p6hkMk/zfo/sPfNVv
-dJuiwrbjqd7piS+r3GNvPbSLAz4Eh8tp4UTPaKdUeYpycwtFDh20tfQVFpMfcyae
-hL5WA59dppeU4KiFYjaCLluyNNBjOYjthpLnLJvSLKoerhOXMLD5Nh/0tl5DKYkr
-DOS/du0DSK5dSEHwK/R9gCeuJFPwlfrfyuSE8443B0XdP/LOyXfGZhscA2TLGupH
-NrLoW0b8HBDc2FvsqcMvqhUps5Z8PNCikcnyh7Owj4YefE35DraAhxJQKTE/4pTp
-6tlKuYavKC4fEPH4n8sCZh9iThVIEIZcncMbGjupqmPoxnV43k0wlJA2KkYCAkCg
-jlojjWgEtoGYlYkA8m7KS0C6MQbCYWzTB4ZMX0fJHi7FprGRn00+Av/o8eMozzOM
-2+HOKeGPVPge26DfCG+/i9SRJ1V3tyfIvXKMhuLBIaYWN6Gt/Ml4kWqfS8XFooWh
-5PM+fgSgE4C8nSr0xvp7V/AhjNC9Ic24qTviG94WLnk=
</del><ins>+a4VnFTSCvALHC/pMSvDIh19WpWX/gwCuBiZp7b0BcdqczHVtQhedP4SyWTwO0pfe
+cnxPwYMx9ejkFe0keNhZsW0BLz3VXOjhCdKC/gpNg4JH291BJt8Y4dZwcWYxnefG
+BFS/YSfGapfjAfge16xeNXqhBdON08r2igIl8KewdkuPBm07c/yTfx8M0fi8z/Ub
+OVzJfbN5fdXtEYoGqwToKr17bUTSKQuJwRgeTamgM9CECRH9QKkIDZOLngu8t7+9
+6eEjFgrmYystQwEQTgHkbEz/8D9bbkQaiV7vgPXHiz2WbaHrhz3eKWH3OM3TcWoa
+JUpn+rALfaZgobNmS2eXL2Rz0VYvTSSwUkrTMR2qAcyYOiWwc/uh85pHEMcphvzD
+2u+yB+mIDefgPCYeHPnSre1w/G9n2QzUYLKBgdPKgmyoNioHaRUFiMdeU5rFaMhu
+31by/jShI8EL9DA7+w5HUiTY+/GixOPPgbepkHSZhyoQbhviorUn6TH3IxSC1gyf
+8jw9kl7pKI7zuxQ38Q93XJueOdPP4oHmm4vyqqgjf9T6n4WIW2qrHHxFk1CCR6kA
+QNCWT2ses6Qvhj/UG0FjXLPrOtko5nCN3JDPMh2Ok3eIYqdYGkvaAvn1m374BJTk
+qZ2AFhZHg1heJlDO3y0fdSxDWep/oPFpiGZ3kEhhuhLv5zLKr43JCSnK9iVgkFB4
+MJi6PKvnBb2OF0COZ2QYwfPvc8m7L/bt9hS+knDgzsN+MQ9h3D/lkfWPimTIO6Rc
+OrLAiek+A9ETlVso9otIJslNnmefmiR2xEH6wQuzVJaoDXeUkigLBg==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXgMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSfMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDVaFw0xNTEwMjcxNzQ5MDVaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNjEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjA2QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQCZkzb7OR9IRFjlNMS+PmFqm7KK6kPY7THzCLI4k+Ek6Jij
-uwhun50ACy3PGIonBv0/Xj0xnY/ZVQDElvul5LdCzvYDwk3N+z0Y3JXb7gg9Dp6g
-85K51eNrags59/VslGyteb1wW7zGRBpq1TXxEXFd+RxRsBqA+4jj5jOMUCUDxwID
</del><ins>+AQUAA4GNADCBiQKBgQDA4vvWePuNvw/BFc+ouXrR16MEvuNqj4FMn8JQG2j0sAUy
+3M7Go7K2o0zSfRgLNRP5ig/HOJGkO7w2qxQl6HW35pUOT1l0p6e6ISBmQLncL8rv
+BVlxXTcBLA7og8rn5n3WYiJ71N0fz7N7xwpVNkTBlKfLhi0fwBiJdCbAm2g8tQID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUfUUjJDftXIX3ClcXyXX8pmc6PUkw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAoYkQhoeDSIOdVypiyBQ6OygLYGBDgaU8pBt9n5miteOMSqj1ezVlXyA/0c1u
-ETLB03QfnB8RfGHNLp4zBcE2VfwEWs4z4D7h4KQOIjqyl9bChWhPMF1xKmHQDiTo
-nmz2GGpMvMMqMGKIj00XFjjgqF8ESEJlN91YVFbEPdqHwyw=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUrcKayG1P1KVtPMAawe2dXkFD3O0w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAU/2DEnaSNwGVssmnoMyTf/Lwi6t7AQ6SvUGBJ9WWYjr44gR4X4jrbGKSy2Bx
+3k8qnk9QrXztbnPsmfXX6QfLffUE+ntTETzU03qMr1rVnyuoQ9dLLhZnTnznejvh
+wXDRfqFdV14SEHom1jitzcRXQd5d/Rdxi0xRM8w5Wz86XME=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser07p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user07.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser07pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user07.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user07.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user07.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,F77DE75C081213D1
</del><ins>+DEK-Info: DES-EDE3-CBC,6399C468C5626446
</ins><span class="cx"> 
</span><del>-5l7GBA30EbvLIEKPmJUOYxgRKUQUeeOsMqxqvm8xJxXkPY98+Ze61+zZ3MSER//u
-/a6fdSAZY6dG6HzK1pTqlKuAeY9riZdxob3FKhjh6x1YStKfaPtuTCuJIJ/l75ei
-zyS7DpuRrXIafzX8uqLRYezgCxv9lSiKZidwUxtWWfC3VEzTD44DXryObjoEWt2w
-IpniIxbt45ZO6eoMUlNixHGt1G4tm7SfHwjgj45mau3hXfDWubWYnsdHV1vTCM0t
-gHvbDUijW6uyCNkX/ffVNebXUsSxcoCCkK2n9UTDz5ZnpsV6+PM+JLUwSk+q1Bm7
-8Fs0voIzCSrR5girNVRk/hzQE4rB+ktySFJcw/mdfsoJjlsWxx79OsINuoTPzIm3
-WEUXkGlhG/U84nlqUr+UlRyKqX9tj9oginle1x34PebEO2EhGkTotw7hgtwJwKBX
-MKX4WEZgIc/312OTFSOH/ogy1Yps7uI4ScxDiFYHYPifKfTPfULSUwLUXEj6hcia
-Fv3g/vsXkEQ4Xt8vu7peXKH0mzhfeMpNPBbs3oan+Ey7QnwAfpB4fnwZQgyJ9dsE
-ibQ+I8ioCsEThH9txRjYDX+Dt3YvDKTWhN4EJP+Jet1A7fDVh7PTdCK4iDjVUQhu
-pJ5dxt6wbygm9R+8tI6gyfYnDyjaEH7LEdHYtVTPJ3IOY0lD9JUsjksOQzpsrwIT
-Vouq1d4j3Q7p9j7Yo+vsiSFv4qILGZO+UPhfL3NKriGqr7Mmx8dQG4XnWlbqgKIP
-NgurRm+ki9XlSoA3LrZNLXwbqD/2Jt0KXhEkBfd9+RfIUd38L2KPaQ==
</del><ins>+mA6A8fv5N/VOD0FeTpL2BX3kZmXRGdXZ/q+nQ061bTbQMhuhsDNm/go0XbEXHkQq
+Egu69WCwjRdQpOft29MxA5DRJ0S3en6GbEtcVft9cfPdioTZZRuf0w43lTVSFyiB
+xs9cSQavrLgU+h6aQ6jYQ6571T5x4cgBnXcTxY51RucWQp0d85+rxb7DbizwuupU
+jik07mXo/cSykWv9mBoi2pHuiv3QzwZ+Y4q1eYAnNL+bbeOfE6ICPbKZ2BawqQ0i
+wiljXkGfQ1vAGlvINEk/UpsMVKJRT0lHZLzQzn3uhlw3ylHGzcFfaqQKleADuRgD
+6AFjv4GRwDq7XniXbVNGDohz9jxCLn6E9iGd5YxRK3q7HW+xGngmwA8Mb62OMpp2
+ZOPU2D75OOi0az7pbNSee4VVpDeOmEalKXHez8W32WWfyb03/HJg7Za1OjMiFSZc
+SpYMtuCJJlHb5zX3X0VIcClsudXvWGMHHzlUYZpl9meSkKLdLwucdfY9V5+bib/1
+/e6LOnF7f6yGc45N8e/CVV1QV0kKO5x6N+4vZcxbsgG3MNVEt/5Z6B/8Wdojcxkq
+hdk8C3BeyngDxEFqiWgtXwRs5F+VJ+65VHSuH6qXXCKjbP68i47uchwG3YlkOKON
+hASlCcifPHvkctRjdTIEVCfT8pMXSMJUGj0IBlmAVVJsv+IxoT+DUC+s6rqOI0/t
+dCcqYUB6fdWkhVQShISJVh6TjQe7itwtlpg/NFqZ7NUWVQICl+qnR6IMe1dXKgHJ
+wWnVyirqb32Zj7s3vIN5uIxAduGxftbaq6RMoqlEOoIXk94M2+mvgw==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXhMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSgMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDVaFw0xNTEwMjcxNzQ5MDVaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNzEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjA3QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQC9QR4qmt6vyCpdRpkddNFLO+8V48HGx/Kyb2msmMyYoHDR
-hbV8WePfroS+3Wslr7bMZMVSpz7rGBbl5aUzwqh2mya7V61Dkr/+xWLnyL0vRkw3
-mfFe4/Nxh2rZ+uOeig6LzgmIFVfao67EZ66mL9Kf43/R5267YspMwTupWyqRZwID
</del><ins>+AQUAA4GNADCBiQKBgQC1FnyAeoU8Ukxrt3G4Yesz9EL8Xq9qpmdx8qk1gFDRMMxv
+ZYxPZFl7Uqq9NNY0bE/C9X9n9NTVMhF9WuTAC3RBskWTLq8Aw/9KqgP3CqAAM07n
+6ufzNqbTKcWRvTq4+bqTpm75+SQVRXstsiTJMtFF9lk3aQIh9B31ucnGdwNNjQID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUSs2pbK7bluGik89TYK2JL0HVfcow
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAtHKsUgDfcE2l3KmL2ihLQHwriR0d1HvEIgABee9iAUE6gi91EKpt6Lt/Bch6
-cTQya1C2h5yYRc/2kjZXRKHtEeVFHXGO+9Gj82nOR9VcdIJxIynaOO0E8xcCTDYd
-bWUdbxqg6dvyejpwFbyEIIf9CH+OrxxmQOoG1O7w4EbOanQ=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU50Wu8sZcmoKwnMZD3zWudgmHQy8w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAcPUgNFxQEhVMcC+AMqxIuT0XFJwUZCbZkiRnNvfpBnoRmJtgN7jTjp8faY+t
+ecE119C8UkaXW2ZVsBvsx/VSxNz/AjHEIFisoZ2WncQ6pdUOh6T9gYAx96nfz5/K
+ULKgLPmB+l4HyThev1lKBuq6ydtKbuhuXqoLTCZdCey3wsY=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser08p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user08.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser08pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user08.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user08.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user08.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,78F5786E70D62FE5
</del><ins>+DEK-Info: DES-EDE3-CBC,B42984A932744175
</ins><span class="cx"> 
</span><del>-mNfwSX9Kr4un1KingxUlv+zEz6K8KC72GP3CCxENAdYYJLb4RsqwDwHF1+yfpMGT
-W0/LnSR3Q+Fv9SsljIVyXIVKs/e6TLgwUUUMq0aXNrz4klq7gz1K6bGiZQTR9Q+z
-ttTDJBzSrx2ay7sfIETFm6FESveWZTF71Q6vraaV6keHOByLwI4lkl3bYOHCfYm5
-MB+95iInCugzcxFDNcWjljWyOsqNYeJbTLZUQs+b+gE8heoKMCpofxB3UAkqKbio
-roJRFFOVnnG/KeoxbK91x80+L51NLaW7A4XfJn/Mkh9tI6NHAXUUSIKRWqALU9Q+
-6eBL9lizAIXoeHt+5x9N/zxsNiUqN+yYRQOROAMUHfwaBDFn6o5+TnGk1p1Vi/cm
-ogK/Nfxh+KzgR48lbOdQEw5ZU5LDVcFWvFAQ9ilzBAsKXT8zazhHGrhdvP/EO0di
-MtOJn/OjwMUQV/jU3mEkoq6/+ENmSXZfxoFgAkDEYnFb/7Vl4gZ1AtWDuBerFw10
-KTEZ7A38we5P80OvcC4h0zWr7ixpmnAfSM+9Kew00TCdzqPWTj6q3hazSiSChsBC
-Oi1ArA0Q5PlFmlcU0ZM7Zp/Pm03tKkHEyA+6+ay17yFnulTmblBZvvDQ7r2jUmJG
-mqn9g91a3D+J22l9GNov6cV13X7EH+3ixsPrSGdZNBwTn0tDtFXwM7S0bb7lW1tU
-aYS1NwLt1/CVaxU6EbKU1abv2rfXT+Zs+a2FImBXdP2j3PCifJsrPbYOxZ4xUTk6
-4EcQTEc3fQTHKsJh5TrQ4OvXHeG2GaHw6pvwFIxKU2vzG84q8Telyw==
</del><ins>+4c9U/qlE9l/7X4ccdHMgkaVy83y2DYAyKt268Cee/v8s+LYA7toKvHLUEgDkH49D
+VE7lFeQS4u1jkpLjywFDd0pTsHBPKQplhKBuBpGECrk9xCeW9fmnSE4+PU+Fetzq
+25K5sJcg2deECgpbm6Q4WiWdJjYMtaDnYVNYGnMbo89r3Sq7KHhVLVKTZJWecgb9
+6NGyg5DUVOXWF2qPsAJ2+jXAsyYLaIrXj4IIwf2xrdgmtPCrmkD20fWzGsl+k/jE
+Y9X1NJEMFRiYEG3LX15XDrKVPCklbOrsNXTga8GxU+mgzsnhgodVUbqa4C94+e7d
+kE4QYu6c3FpqXBNoYuQILyH8TiNPaHOlzgUhi+0H4ggtY4foqxZMDJcv4fMRbBUa
+DHzRIy+CFt9oHwP5E/2xJbuTqBTi3/N13hyk3uXWuMMzEf/DluyXBxzVkeJQ4ahU
+zrnn7DhgGAzS0r1lQnU4mhSbcqJvUCwnTZ2xirvVRiMq5JuuCbP3a7duRlrHoox9
+8tEpKDmKy97T69Z//zjf1Kld2KNcCdNHyTPa0C3G2AfKbgMJWFPAUqFk//5ET7+z
+Kz6veT0bwO+lCbaMaRULuuN8FXsIEIfYZPvsyGRu/+j/LVX72+y3AsG/rTolfsBk
+VZkYg2655jUP4s+c9IFCl9BTlRAhOWyYUjaQprALGEVyT5Z1wgbZIBNN4JcLZmYP
+UwcS7MeOjFaj2XVXi0MwJY90T4yMoxBWsppibuRJIkEQR2OTnnPkPjeY38Ly3g8h
+EVkRnTAMmCgaK3pga7LLI8VD6ifUIDCGPboriQOr5zv/jdJH3aO2uw==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXiMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCShMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDVaFw0xNTEwMjcxNzQ5MDVaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwODEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjA4QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQDQBosyvbKD3nOarln/unV2FuXWFG2KUtRhsxBATfgTgk1V
-aH2/8f5IjwvPfZj7GEcSQ24vf/vBl8Ubmba/AXRFvrp6dIIyPi3gkMAU+qnmDasx
-HPXZlqiSXCXIOfiHhMaHYdULsXpXZUS0L2hFEi55pEi+SHfSSYjXOxyODWzFCQID
</del><ins>+AQUAA4GNADCBiQKBgQC/gJ6+2MoyGCdsus74TwFPAzRkajBtzzf9WT8gUShc4NCe
+x2ceibjDDA00TiTwRjdihd2gkhR5p/hNY8p3NtSxnZ8+JXjyIZkCACjQVTfAfx4w
+SDqqvmy/bgHK3xxMmy4Z/WpMAc+Hg24e1o29qB2fAPH7ePSJSLeOzn/jnejmNwID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUr9p20sfqknB4FETQ6+WOtErMGAAw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAFjRe0oG7Ybo05te+aa6xb4EfEvN38YxclvEaBOueQw8+NB7muxf+Yn/uQlAJ
-IP/16RtDyP+FHDInQ7Kggi9ZHwBPUqWorwh5wbu/ZW9oLc4u+qm1rYEJZcrMn0uo
-XnoQsHivpDbxR27p3geunqNNH+lpoLHglu9gH21xUrhR72k=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUBfhFTYk1yIglOrcYFuY/AHViGq4w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAWV7gim4sIshGjRfwfkNDUzMyiLGu/x+UZURU7IOtLVa3AaPqcDnDnjTQzHHs
+0m9NPqEfHNP1aUDCgHWyUWugGynvbV8Ckh5aQSvT7y4VNBYkoMNmzzTUD8d7nnFq
+BEF/lwF0qS2pIhIllerPqfqpRZDC/X4N7r9qaGzL/5vj16o=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser09p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user09.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser09pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user09.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user09.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user09.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,725CBE701F555AB5
</del><ins>+DEK-Info: DES-EDE3-CBC,0D54BCA60EC269A0
</ins><span class="cx"> 
</span><del>-GEgJZhoMbyDgBiHW7o1/ksjCGh5X+qYcLbbncYcn9+PbG5X6AkwxbiB90nA3oIPm
-G0jIiFG2QUjWAk8V2LLWqo7XXL56/xzuBYz67mA6hX8Tznx32mZKUA6bv+3X0bg5
-iKQ4m8fsozPKYpJD/90OEhHQvdItY0Qq9qsNrBMqGl00gCr1cggPuFR7LkuaqCyt
-mXhUVJLMeQLVM0aKjMSdOnqfHNPNIZGne+a1YqW1sZpK3NV9/bInnSAWXT9OufGH
-or4UTthot8E5Txx6L6GDBw2j/NBlmf8uwCsZbeVqv3/jA5GHtdc8f9/mypW6CnHw
-XEL4ZNtezCKq6/JHV0PV1IAAOyU8r6pKkTjZq0cr4CM+rvhOC8qC/noAEftsiiuo
-QiM4nPOw843PolIXpNqkw35DYWCgTeDa5GQax3IjUwHZT4a/gKcMWAmfzBYXVDlA
-nPCFw/1rcmsG/kAkpPBwxysorytouzDXbBZS8m3LZPcSt3VtSNE0nubxUfjbFL0Y
-DyBq8nt4o08QgpF1dnPihC0uc1Or/n6mY5iZZN+5mREN1C7FKm3iC/sYAoMExlhX
-5vqpzfPjo8attQSIrvj0dgj3zHyFDSUeT8njoujoJFYVWxaQRKTe8twAZzXNc1KR
-NObrLwKZJJHJHtZ04THQXC7GwEH7xKFItgvggRS982gJGmNtGnBQ2orgy2TmYQYH
-DZUOkxeM6z/A/+bvoLqANXja+/PqmD+vuo7sGFy5kkJ7zQaI4SD02kLt/4Rwwo1J
-yC/A/q2CZMMHDd/Ru61Eg6oxZmuhR7tpAW9rXiXTy+fwDsLxQ6CfNw==
</del><ins>+Kr2318HYhu+KyrqZ+dFEwnbKxzjMKAYSqn99FgSo7ThEhGfo9V9OICnKva0eSE+F
+YyfZ61nOAwuyaZaIoZVbaBSe+/QOhxyvtR9VD+EgzJP0dc65l92+JlzpLXIKfCnH
++LNldVZ9pMups53FP41dfFwGY9j/5UjeuHosi0MPoTTZC/PNlVBxOeeJOe/NfZ0j
+Y+tBF2sFYVRdnBuFxvwbLco94h9zLRtlj2RF9lx+LVGCxBHzVQ2Wg/hcfOaLqEuw
+viP8XnAD9fQPlrXgClm3hDTiFMN1A8UmJo11Y3nLVS5Nt6xGx+mLNjIsAwJ0Mvyh
+RbYd2mkH4nm3kI17wciWcDWBlO/wrnJrQSwBdUGWlgGS8wFdG1lhFXEf23puxZlO
+s9HiFAmbIy96CcWz/bHjgB4UlpcLTYsiC8EqHCmPg4bo0sCOUCnRt1FCOpCqv57y
+8ZDjhsLaTfJHxbXF8WsYdnDd3YwDWaRYSflmJfuyYwlNKmxYSvrvfjOWOuF5Wdoz
+2F+/MmvkEh7PV2xQLM6iNmkTWb1xA2m8hWVYGOWwSPEGBDxez37yxxqvVFwWixuW
+HZJrhvkbZDWW+x+qIH2F+jr9lqCPcxKbcAl9NLBvQrnJXHiU4mW9vnr5sh5bPWOb
+PxZ7YQaTM2C4/kWVHXbNjiAi9IlUG6cI9g4bflK57zzCIeVThJfOxKHYmwbDnJ67
+gj9oEeMLD4Cf7erPOGTE02lxzowJ0rIFZSxz3HJ/oglVMpeNtftv2sV8l9GMKatb
+DVOqgfZ3W3xh9gVjhxBISPKcU6Z2EBRvERKooGR7bEgufkCGbLTgQw==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXjMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSiMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDVaFw0xNTEwMjcxNzQ5MDVaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwOTEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjA5QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQDfBJGBYXuSaWriD62VbkvxSfCAtK7usPXXqtGkQgqImwIx
-Vxq6bmUMYp5KSD2mszGmjMSdK+XbsFtyyzkTS3A8aT86TrOw0bNhVIzFxJQS+8DY
-3sSqqqn+LcvMqUYpCriBO7CRn0+hdfSuLd9gI+qmTWRFmdZxF+v/GLlCWAQi4QID
</del><ins>+AQUAA4GNADCBiQKBgQDZWaTay45AakIHVFkTE6qV9z4fsE5sk9yiWnj4RChcwWBk
+tZKlBKkqdY5gajy0Pmm7srdNJjxmufhgfkr4OVjDxT2UL8B+pENNyYfnl9gcMj6H
+qcb3MhAGKce+IaQoTQcrnxfFORN+ZYH9QORTBUzLtmprk9rupNechgdYw0pjuQID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUwhl9UY1l4ilXzz3GVbStuZicdqAw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEALJke+7d6iLMpp43LPY81OmyZwWMV0C6rM12xjzpwGGhX0lRRoqvu9ARwOg7e
-NW7Ie+oSEva0lR9sqnrM1P3I4T+f08hjLGvpIz5S5g1JxTrvBKxw68tB/S1uvy3c
-kHSV7sDJhNdbl62iF06hkTYaR0cG5XDnYhcovjvaZl0Sw8A=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUBdpLIj6cuVI9rO1MEA+Y9cmlMLsw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEATujFx382Jn9DXZ/w3gLgdOSFg1Lg1CmGh+lTP+ZagIm26FOgUVYFxdqJEYu/
+NJR+Q7jHsv8x5Ah7Lg8V1wcEwIvJxGNOt2u0/7iT/wR/gFFoqTlwM7wUzSq4zv95
+hJZdMJgDztkX1OcvoBGd+viKWVLnZfYSSr1YkuuImiQtfCU=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser10p12"></a>
<div class="binary"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user10.p12</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcertsuser10pem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user10.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user10.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/certs/user10.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,35 +1,35 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,92926780C9752571
</del><ins>+DEK-Info: DES-EDE3-CBC,37B10FFEB5AC0A29
</ins><span class="cx"> 
</span><del>-F0eVk2UbqEM/QgfdKRmgpDEAEr36kBIxHLxFeqJ2J5TGAk/aJh2yHh2oNgcEt8wW
-EpOYer0MRyO3QJaQ2UTx44kvjOJ9refxBwKX9FRrV+Jx8bFCowIm3+g6tOoskH1p
-o1CxMj/tIqq1CVZVrWj3CEWzuxKHdkCbD1CwwWCiUoMePnOWwi3vA6u2aVjVoact
-Cc4UAkxTSlDeORN4bxwYEE12+8FUC1UR2ZT1CCwj6BsfuiYDQSgdFpdyqqNBMZJ0
-I+MrAi788mBBsS/rjxaUkaKltwUuFTkQ72Kc+woum0z21o8P3uunPVFUyf0lqUUf
-bRupDnnvXhOHApeF9tHG6N66scLxEY+uoPhfa5Rbl2zmGVproaDoGpTee8RdruSM
-ivrI+vHOT9Ctize/EG/xCyYVDZSKBJm9gr6PcFbGn0hS7dmqDU9XFTDDSzEL5osq
-kPmxdgS3c5l6Rvb4ShENSuRq88jQXNjzCKqmswxCUGG3yS9PSd1XLxoK4AQDkhpV
-ExfGr+I+fao76vhOnRZfAhij5Azng6sBAEYMdK1LbtmdnzCEVWCIrnDIVF3RIst2
-iwlSuk7wY7Qo9yOCfcEm57Ut3ovVOq7YvQqnz57hoTYIqNUMDqED6+XrlIqPOXq+
-A1pJzNjpM/Kol/1gPDstEk+iwPBAcwckoLCHSQYsCIZL3OYBST2Io4S0ZNKBgOAW
-uGL/AIJX5QV0uHbFSSWSNMsZ5jAmayHlUc8l5Wt3VchtbtyEfZJNA4OVUQ/6bqwQ
-8wrUGtGhr5XMLcretFmZKpvHyarApXrgV4SN8MbWgBw=
</del><ins>+DgMJkFoFn6qXB9al3w7G9BW8RtGzFBPmOeV8VKnhDEKYcEw9LGSMkg46cRvMoaNn
+cpht8ikmRDdmJE9U80hGbaN9olAulDXwcy/3N4eUV4pnDjOa8IN/IyQhlx8yd1Aq
+cEi3mopwGeolVD8s1zVicER3a31+qrhijX1lNe+QujjK48ZS9X0u+gqw2YK/flLu
+v2jJ0LEaq5Eq3rHa1/+fkrDsMQ/kYXMNYtJXF+rPi0ff5rNOJIndpoaMrkGPM7TZ
+w0GQPCw8ZLGRyq7qMJOlQIlcT4WYHR39DpBfhEdt0JyLcxzruRNC/Jzjhfra/mWP
+QPWV6wcotlg+T1NIAC29vYU8C20DE0NRsw6pTI1lY6K58kVX4eTMJ9Y8rsVDA6mj
+lcSHnEyyM4kXMZeNanVO0+rRN4Hvv1uG1ezCK/BfDb+vTGBeE98sBKIoMgFv6siz
+0RUCBXnbKE8yPjgq26JzmlEfa006YJvRAe1VhwwZYnDtKAtdaiLIOcX+oBhD8TSw
+bas3r+OPmjk3cJ3lutXyv2mnBq4CDe2cOnx6vwUZOaJh26fwQLcywRU9pRNNKLWq
+tDM/c/7ZjgLKjmDsz0hAo+ReaWZE4B5+CFHCnOx0dfjKvNqaTOvO4v//jEuE/i8j
+qvCP3O95Lu/ozeGDVxPD0/EjwloQ78D0oU2KAB2G1+b4LDDeC1rI6IIgS1O8mYr+
+0DZ93Lb9Lwxwo7Pg1sN7cYwnAn8Z/0o91yfMuxEuXBUF7J09UBRmTYCHC0FYy67k
+szjG/h3iSc8hKoBG9BqnDNvmOH9Z451ZpZmzpOTX8bc=
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span><span class="cx"> -----BEGIN CERTIFICATE-----
</span><del>-MIICvzCCAiigAwIBAgIJAJcSURX8QvXkMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</del><ins>+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSjMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
</ins><span class="cx"> BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
</span><span class="cx"> BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
</span><del>-NDEwMjcxNzQ5MDVaFw0xNTEwMjcxNzQ5MDVaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</del><ins>+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
</ins><span class="cx"> VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIxMDEh
</span><span class="cx"> MB8GCSqGSIb3DQEJARYSdXNlcjEwQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
</span><del>-AQUAA4GNADCBiQKBgQCyiwIhalaw0ATtjGN3YwSOhMCi26rxWCpFYxqK5zlYF/ZZ
-JObhZOkp6HoP7B5Gxui7YkFO0IEal+N/En3dF6s+Io139Fxoog+UbNxa1fjWsPcX
-17kSraeWaglXyK/MRu1wfMb4bOUDQjBJdEW0EIlEeecqJXx48sY8lB0jgv9TTQID
</del><ins>+AQUAA4GNADCBiQKBgQDCPcdu3HO9zHBZ7DP2Ik1Es7tA9doNcBKl8GOQehcUMRGp
+OrC3VMP+DTPDU9yMMdmanR6Vr/DG63D/b8p3uBG/W4vR+RWOyn92M2PcsXJYxBXu
+rq1Td7QLcxPEr7bZygmfGGM+3zReCHdjZgmDfdniSCjzNXMN1Pxs/AXjy4NHrwID
</ins><span class="cx"> AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
</span><del>-YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUhlYehueFRkqX9eBSgLwFs5Wh9Jsw
-HwYDVR0jBBgwFoAUHPXVEDPKfX5kTieJKO9xcWyNyfgwDQYJKoZIhvcNAQEFBQAD
-gYEAhWEn99V8xWdglGHSq8PddxzXg2NS2tI/7DMzkJcTea17JTGL6Z5c1zBWvEma
-VTnBcVDDDmeeTLjm2m5A8rdM6h3S/8VT7BJCyE/9PM3zkx40kIB+NMWtJRRdsLs7
-js9Rw/p8fXxztiGx93NrdBHE1cPWTLD9f2OR+Z21QP2SWoQ=
</del><ins>+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUNZmemCQ4ArOaQ3iVpY8Kp+D6XJ4w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAfwgHnG7NDhSdjFsOl7jSyld0VvB82Ai2W5v6kXLTFzZC1Xx9jOH7HJTI6MH0
+LxFZ5uH0k9Dth0pSp4ZdDs69qf3NJWP0zAmUl9jWfZIeZZsFo3rHtUpRpVOtIgAv
+1ig8GbjI992ufv3B+obq1pHTsdnbUBYsKyyKLeJa2rZb/So=
</ins><span class="cx"> -----END CERTIFICATE-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAcrlpem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/crl.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/crl.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/crl.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+-----BEGIN X509 CRL-----
+MIIBJzCBkTANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzELMAkGA1UECBMC
+Q0ExFDASBgNVBAoTC0V4YW1wbGUuY29tMQ4wDAYDVQQDEwVhZG1pbjEgMB4GCSqG
+SIb3DQEJARYRYWRtaW5AZXhhbXBsZS5jb20XDTE0MTExNzE5MzIzMVoXDTE0MTIx
+NzE5MzIzMVowDQYJKoZIhvcNAQEFBQADgYEAMI3dw/c5WpPgs/2EtylY4CCvu/C+
+AoT0z6Yf6RLbn+RGZIaR39Vcwg529Ffn2XOxuI/dH9COAvvSeUU0NTzUx5zNwhaa
++V823L5X0/sLb1giDuCYvKRxikpNA2PZ2xwLJ2LN+FRlLSJRHyLdvyhGAM2FmIB9
+ywSC2NcUOI/fGnQ=
+-----END X509 CRL-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAindextxt"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/index.txt (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/index.txt        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/index.txt        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,11 +1,11 @@
</span><del>-V        171026174904Z                97125115FC42F5DA        unknown        /C=US/ST=CA/O=Example.com/CN=admin/emailAddress=admin@example.com
-V        151027174904Z                97125115FC42F5DB        unknown        /C=US/ST=CA/O=Example.com/CN=user01/emailAddress=user01@example.com
-V        151027174904Z                97125115FC42F5DC        unknown        /C=US/ST=CA/O=Example.com/CN=user02/emailAddress=user02@example.com
-V        151027174904Z                97125115FC42F5DD        unknown        /C=US/ST=CA/O=Example.com/CN=user03/emailAddress=user03@example.com
-V        151027174904Z                97125115FC42F5DE        unknown        /C=US/ST=CA/O=Example.com/CN=user04/emailAddress=user04@example.com
-V        151027174905Z                97125115FC42F5DF        unknown        /C=US/ST=CA/O=Example.com/CN=user05/emailAddress=user05@example.com
-V        151027174905Z                97125115FC42F5E0        unknown        /C=US/ST=CA/O=Example.com/CN=user06/emailAddress=user06@example.com
-V        151027174905Z                97125115FC42F5E1        unknown        /C=US/ST=CA/O=Example.com/CN=user07/emailAddress=user07@example.com
-V        151027174905Z                97125115FC42F5E2        unknown        /C=US/ST=CA/O=Example.com/CN=user08/emailAddress=user08@example.com
-V        151027174905Z                97125115FC42F5E3        unknown        /C=US/ST=CA/O=Example.com/CN=user09/emailAddress=user09@example.com
-V        151027174905Z                97125115FC42F5E4        unknown        /C=US/ST=CA/O=Example.com/CN=user10/emailAddress=user10@example.com
</del><ins>+V        171116193230Z                CA9656A56D742499        unknown        /C=US/ST=CA/O=Example.com/CN=admin/emailAddress=admin@example.com
+V        151117193230Z                CA9656A56D74249A        unknown        /C=US/ST=CA/O=Example.com/CN=user01/emailAddress=user01@example.com
+V        151117193230Z                CA9656A56D74249B        unknown        /C=US/ST=CA/O=Example.com/CN=user02/emailAddress=user02@example.com
+V        151117193230Z                CA9656A56D74249C        unknown        /C=US/ST=CA/O=Example.com/CN=user03/emailAddress=user03@example.com
+V        151117193230Z                CA9656A56D74249D        unknown        /C=US/ST=CA/O=Example.com/CN=user04/emailAddress=user04@example.com
+V        151117193230Z                CA9656A56D74249E        unknown        /C=US/ST=CA/O=Example.com/CN=user05/emailAddress=user05@example.com
+V        151117193230Z                CA9656A56D74249F        unknown        /C=US/ST=CA/O=Example.com/CN=user06/emailAddress=user06@example.com
+V        151117193230Z                CA9656A56D7424A0        unknown        /C=US/ST=CA/O=Example.com/CN=user07/emailAddress=user07@example.com
+V        151117193230Z                CA9656A56D7424A1        unknown        /C=US/ST=CA/O=Example.com/CN=user08/emailAddress=user08@example.com
+V        151117193230Z                CA9656A56D7424A2        unknown        /C=US/ST=CA/O=Example.com/CN=user09/emailAddress=user09@example.com
+V        151117193230Z                CA9656A56D7424A3        unknown        /C=US/ST=CA/O=Example.com/CN=user10/emailAddress=user10@example.com
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D742499pem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D742499.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D742499.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D742499.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIIDCjCCAnOgAwIBAgIJAMqWVqVtdCSZMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNzExMTYxOTMyMzBaMGIxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNVBAMTBWFkbWluMSAw
+HgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEF
+AAOBjQAwgYkCgYEAwI72Y6/JkSuc1i9NtRFpXgHIKdPQttbghaIXHcdmhZ825zSM
+UXnDsb2O+RzrQT6qYfkZ8o+XBEmBMknLh/T2/sDrt13lBlRjMb24PBXLCxylcBAx
+wun2PIzoW8tq1YojBcmyO6fkDFycCJnSTQ+fYAR8nKvv62rLVyAX7gz2/iECAwEA
+AaOBxzCBxDAdBgNVHQ4EFgQUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wgZQGA1UdIwSB
+jDCBiYAUo2nuP7bbJ4YWQ6LMAeXmm7n+A42hZqRkMGIxCzAJBgNVBAYTAlVTMQsw
+CQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNVBAMTBWFkbWlu
+MSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbYIJAMqWVqVtdCSZMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAny/wKsN1hrXq8xN+jvZ7H5gc
+ocwyh1IA+NILxJEdFS/RDV6NfgM83PRdhsai+NihMAuEgJ0v7+S60W9TbZBbmRnc
+P1wu5KzwEFCqKTN8M3ojF+X9HBbwSZCAKt4cKEM1MeX3TFvkDeqcPUenmEluNAhe
+jmBg3oeGB7x7i+tPEVY=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Apem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249A.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249A.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249A.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSaMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwMTEh
+MB8GCSqGSIb3DQEJARYSdXNlcjAxQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDCOWy6vVPYHLpdbwXnn6lyKwyzoxh4nXBdcR4NteO9eDbH
+nyyqSFLYBaSuO49ZxAut5NPAUlZPPxLYgwbWf4KIzczWKopxDGV5glZnkmLzWef9
+6Xg6X0LMX3MhSIPfon6YTvNfAEphZD0Hwzf+Qz5F7tf0OpabmfrZlwH9Wy2sSQID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU6huJznzPiobMob/dr6xM5oVeNyYw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAZeYYebzwvyRGA5+VPd5wZWg2Klet9terZXlhJ2qjFxIHcireUNAZQwPGmoqz
+2tiU5IM0PoGxCxMexH1SM+iHmhTDVkvczZMJop5Qu4HITzouL6BH7f9UEbgdJn15
+OUJ3V+e29FUKkK7sE63ncwAz0Xmsh5bORb39UGx7D8hXMZ4=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Bpem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249B.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249B.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249B.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSbMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwMjEh
+MB8GCSqGSIb3DQEJARYSdXNlcjAyQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDrbiblj6essyvYj0BSgoTLAm2vJ7V/rm9VfzBLaF3wJelA
+8UcnQWVIL1LaGjAFlO9qM8xykioo7CbGnHb6OpCzrVYrd+2BtQ+73klXFakObZOL
+TzUM/zMjI0KI4iA7Kj5GTcuQ1HBnxDVCRG7apWq87eLMTdAtbrCfgzDg9BYxJwID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIl3r1/7mBM0I4jIOGwXYeKe4f8Mw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAWMgzjG51C1aKvDy4K1PB08tBh5L9P8qTRrRLxxG3Gl4IqX4qmTmiBfuuKE+C
+71Im/2yRUZxWyPIw/lY/PTA1O7DXFo/rtsZMv1skUvUhr8OZvYzpGbBazfyiJDYI
+SYjswPwl2BIuLeo+4UCm1x9YshDq6sBHD1MvBvE70B6413c=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Cpem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249C.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249C.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249C.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCScMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwMzEh
+MB8GCSqGSIb3DQEJARYSdXNlcjAzQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQC88nnuQYZpdFsPVgbXrLesVP5Tg+NmjpO8SnjbkTMSxnCs
+FLAYPZ1mqmkbvv68rc9HS9m11rNUo+Diu3jdsrz7o4wBKj7RsM2do8znMAvLEAlA
+J+JLNxogHEKv9ZJqHr6HKccJ7TevPGeTWbOWnaFcxeM2bAe7LmuHEOJLiVIDuQID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU9HvR0lmwY6lrgetm9wHBKGUc9A4w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAKXbNjpSbFtz7+L4Nr2cP69rnuYFs7+pd87zK+8DVxyWPCcsSOn1KaVPxZH03
+HZ+y34yLqzRRD21IY5VqKk/kUt9cHo52c9DLxLyQ+zWP1qf5r99mRyqAG/ugoYKj
+PiaY7gcROfs9jhPZMmOcrZ/5N8OwKvv08Xxy/IbTEeiO8vk=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Dpem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249D.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249D.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249D.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSdMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNDEh
+MB8GCSqGSIb3DQEJARYSdXNlcjA0QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDRFi9a5qvM7uDSd3MQUgwzQcKgmYLD+d7rPoDuuGesZnut
+YpT2y0o9HyVYtwe13oc8lL5JObEUyweDRiNcUTWUgsbvzxxVNEzf9OADbSH9nR9/
+ule3xi8Bj9n/rDyBYNNYbJSBI32CZFlbrGSnxG5OoOdOVc0G4k3s2QrBlXIwbwID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUi4GtAxZ2RjQT9U7TT8Jzrb+TmPgw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAf93Dh2pnnwJ8/ZaX+eywjBzqtDU/ng+9U08gXVzNK0JQNEX5JxLkqA14QCyv
+/NNnTtfwFah3VKyMvnbII6DfgYa+5bF9+FduNT4T1qgsZxjWHv2HjpttDhjCp6fZ
+8bQ1dEHZBDFoa8S1T31lZAKu7QjLn8XtvzZg0QbvDy1szJw=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Epem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249E.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249E.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249E.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSeMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNTEh
+MB8GCSqGSIb3DQEJARYSdXNlcjA1QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQC4dN34znSF17Jm49xCvyyx8LHVaJLOeY0Ng8nrlfrvC2+G
+exbVJ1rlQjMiC8l+5h5fPvx6dYnzjIWB0Y7BORtxqHhaq35TBlePbMVnyjwkMCUC
+J+wVmAnMEVDx5BFGL6sDGJrnETfgY1N7WmOrF2jrrVyUAHA1smhN1xWSiKxm5QID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUH0tlZUlKXcstKFq87nZKymtYoPEw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAGWJi4rLl/YLSpO4UZXvWNEw3lU+mIjmwlvkP3BHuvIH5omJk3DR1Ph2Efb99
+2IHsbDeysQj/vBCNwuajSD3el7hg8rX9XADTvZmZA2Tc03xmgShJcZapqDlk1GuJ
+6Se2EQ6ij4dTlW2pMQutkAtdmXoM5gHjdqHiplFd8UVexPM=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D74249Fpem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249F.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249F.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D74249F.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSfMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNjEh
+MB8GCSqGSIb3DQEJARYSdXNlcjA2QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDA4vvWePuNvw/BFc+ouXrR16MEvuNqj4FMn8JQG2j0sAUy
+3M7Go7K2o0zSfRgLNRP5ig/HOJGkO7w2qxQl6HW35pUOT1l0p6e6ISBmQLncL8rv
+BVlxXTcBLA7og8rn5n3WYiJ71N0fz7N7xwpVNkTBlKfLhi0fwBiJdCbAm2g8tQID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUrcKayG1P1KVtPMAawe2dXkFD3O0w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAU/2DEnaSNwGVssmnoMyTf/Lwi6t7AQ6SvUGBJ9WWYjr44gR4X4jrbGKSy2Bx
+3k8qnk9QrXztbnPsmfXX6QfLffUE+ntTETzU03qMr1rVnyuoQ9dLLhZnTnznejvh
+wXDRfqFdV14SEHom1jitzcRXQd5d/Rdxi0xRM8w5Wz86XME=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A0pem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A0.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A0.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A0.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSgMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwNzEh
+MB8GCSqGSIb3DQEJARYSdXNlcjA3QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQC1FnyAeoU8Ukxrt3G4Yesz9EL8Xq9qpmdx8qk1gFDRMMxv
+ZYxPZFl7Uqq9NNY0bE/C9X9n9NTVMhF9WuTAC3RBskWTLq8Aw/9KqgP3CqAAM07n
+6ufzNqbTKcWRvTq4+bqTpm75+SQVRXstsiTJMtFF9lk3aQIh9B31ucnGdwNNjQID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU50Wu8sZcmoKwnMZD3zWudgmHQy8w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAcPUgNFxQEhVMcC+AMqxIuT0XFJwUZCbZkiRnNvfpBnoRmJtgN7jTjp8faY+t
+ecE119C8UkaXW2ZVsBvsx/VSxNz/AjHEIFisoZ2WncQ6pdUOh6T9gYAx96nfz5/K
+ULKgLPmB+l4HyThev1lKBuq6ydtKbuhuXqoLTCZdCey3wsY=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A1pem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A1.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A1.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A1.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCShMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwODEh
+MB8GCSqGSIb3DQEJARYSdXNlcjA4QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQC/gJ6+2MoyGCdsus74TwFPAzRkajBtzzf9WT8gUShc4NCe
+x2ceibjDDA00TiTwRjdihd2gkhR5p/hNY8p3NtSxnZ8+JXjyIZkCACjQVTfAfx4w
+SDqqvmy/bgHK3xxMmy4Z/WpMAc+Hg24e1o29qB2fAPH7ePSJSLeOzn/jnejmNwID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUBfhFTYk1yIglOrcYFuY/AHViGq4w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAWV7gim4sIshGjRfwfkNDUzMyiLGu/x+UZURU7IOtLVa3AaPqcDnDnjTQzHHs
+0m9NPqEfHNP1aUDCgHWyUWugGynvbV8Ckh5aQSvT7y4VNBYkoMNmzzTUD8d7nnFq
+BEF/lwF0qS2pIhIllerPqfqpRZDC/X4N7r9qaGzL/5vj16o=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A2pem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A2.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A2.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A2.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSiMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIwOTEh
+MB8GCSqGSIb3DQEJARYSdXNlcjA5QGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDZWaTay45AakIHVFkTE6qV9z4fsE5sk9yiWnj4RChcwWBk
+tZKlBKkqdY5gajy0Pmm7srdNJjxmufhgfkr4OVjDxT2UL8B+pENNyYfnl9gcMj6H
+qcb3MhAGKce+IaQoTQcrnxfFORN+ZYH9QORTBUzLtmprk9rupNechgdYw0pjuQID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUBdpLIj6cuVI9rO1MEA+Y9cmlMLsw
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEATujFx382Jn9DXZ/w3gLgdOSFg1Lg1CmGh+lTP+ZagIm26FOgUVYFxdqJEYu/
+NJR+Q7jHsv8x5Ah7Lg8V1wcEwIvJxGNOt2u0/7iT/wR/gFFoqTlwM7wUzSq4zv95
+hJZdMJgDztkX1OcvoBGd+viKWVLnZfYSSr1YkuuImiQtfCU=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAnewcertsCA9656A56D7424A3pem"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A3.pem (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A3.pem                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/newcerts/CA9656A56D7424A3.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+-----BEGIN CERTIFICATE-----
+MIICvzCCAiigAwIBAgIJAMqWVqVtdCSjMA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDjAMBgNV
+BAMTBWFkbWluMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkBleGFtcGxlLmNvbTAeFw0x
+NDExMTcxOTMyMzBaFw0xNTExMTcxOTMyMzBaMGQxCzAJBgNVBAYTAlVTMQswCQYD
+VQQIEwJDQTEUMBIGA1UEChMLRXhhbXBsZS5jb20xDzANBgNVBAMTBnVzZXIxMDEh
+MB8GCSqGSIb3DQEJARYSdXNlcjEwQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQDCPcdu3HO9zHBZ7DP2Ik1Es7tA9doNcBKl8GOQehcUMRGp
+OrC3VMP+DTPDU9yMMdmanR6Vr/DG63D/b8p3uBG/W4vR+RWOyn92M2PcsXJYxBXu
+rq1Td7QLcxPEr7bZygmfGGM+3zReCHdjZgmDfdniSCjzNXMN1Pxs/AXjy4NHrwID
+AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
+YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUNZmemCQ4ArOaQ3iVpY8Kp+D6XJ4w
+HwYDVR0jBBgwFoAUo2nuP7bbJ4YWQ6LMAeXmm7n+A40wDQYJKoZIhvcNAQEFBQAD
+gYEAfwgHnG7NDhSdjFsOl7jSyld0VvB82Ai2W5v6kXLTFzZC1Xx9jOH7HJTI6MH0
+LxFZ5uH0k9Dth0pSp4ZdDs69qf3NJWP0zAmUl9jWfZIeZZsFo3rHtUpRpVOtIgAv
+1ig8GbjI992ufv3B+obq1pHTsdnbUBYsKyyKLeJa2rZb/So=
+-----END CERTIFICATE-----
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAprivatecakeypem"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/private/cakey.pem (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/private/cakey.pem        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/private/cakey.pem        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1,18 +1,18 @@
</span><span class="cx"> -----BEGIN RSA PRIVATE KEY-----
</span><span class="cx"> Proc-Type: 4,ENCRYPTED
</span><del>-DEK-Info: DES-EDE3-CBC,0AFACA85373949CF
</del><ins>+DEK-Info: DES-EDE3-CBC,622A2B0418589C41
</ins><span class="cx"> 
</span><del>-A5sfNCYZzAKVzcXRGD/I/3N+jKe1vZxOIutrztWrof5dXXFxbl2BdBWwbItyiJJB
-idDl83iy7je9pyew9uvWD0iuCJfob5o1Hp/g/zglIWZAvrxT09Ebr5EoeAHsCl7j
-T55Eh2qzog7bqRcF8+aiNnrMXPsZmi6OBA/K3KX7bmishwe2bxKE4isYzmVYUrXW
-RTTFouezCr7bVGYXB31g8vHn64mcHrVENNldxGMrMpw+AMu0pPgshz2xFso4j/uo
-xN4xNZ+tCGGouAcSNjX306Pj8fX8NybIN7dNN3icQu1LhcajCyV3UgYo/4+OmO2g
-SI+c9/LFkw0waGozTcgI6fBboxl7RQeORVo0c6tBdNkckiwEHMBplLSbjUOluFPo
-AYqq9ui+ox0wH6yJISBQlighFBtUpVidTElcV63Zndzy9Uzpl9NmR58WOZyaLVjA
-4L3NC5HL1DbzyYFt70YM3Jx9p0PdCF7ECtQfVHQj2zU4kLi69BHyXq8RKtgRkiju
-6tedz7FJ8qhLMOWnN2T42PZ0CIV6hZeIkggm+rLhGzXGVOzZkBeTXG6s3VsrMWeE
-gH959LOcYsEtsDR6mZOV7RLtyYt4Tttj84ygrkNelUP9sTiruWj/poBdJAjXwwt/
-2rBytzdEmIGGxYVpLyhT6F7sZM2199EQH3MU8A+PmM99PJqMKEHm6/en94K/5Uin
-1nwErISQgETVu1UgxEcsOKPrezzuDWa7OcY2jnQgVSxAjj8WxIKF0ulj/YacGneA
-e07KTlPPMZydPs7M8xBjL/unYaU4pxhXKvzNH+nV5cvTtw1aXyK/DQ==
</del><ins>+tvKXTPsYjDc1mvIrWMXi9U8f+88b8WdGf/vxAcmVQc1ALL9oJZP/WCOuxYE3+5Ji
+MP5fhFh92EDBqeuBnMVHgvNxqMjHW3uR8TbLoW0B/T4L4CU+eyPW3oI7LoTBhggB
+s71FLRHGjAbOd6hj+xh2At8zAdj35WvG2iSlO/N8+Tlo25DP2xpZBZC6IKYwpQsy
+nXyoq46MMJr7xxmYeHk998Jjf8GtnbZvjZGb0C+sNncIEebXFDCZEMJFbHp7UPAf
+fBcLymWK7rSFgQx8cS3KbMMB4PFlw9AKIKFPsY17EiArS7OdB8saFBGZLfjbrUYN
+Vm4LjPsPvXn3o6V+xRqSURnBeaC6prtV6sGXVwAiVengh4G2AVQy+4gixKxkAzVB
+SED004IPN82e2H4A8mS6fo0YMAMfVnpFaVmUsR/G6XxqNy7lfIzVIxbVmVZdqhaa
+9u3GvZf+kFPOQxIEt+dnPCLIMHEUCeQ/svlBtsrFTa0P0x6IUolQaiX4n8OlqhPT
+smm9EWLcjJ8hef7JcD9L4hkCWeV+dmU2KCu9jbPIXFidrc8c5+X02iXlQnoLu5In
+iKsJ+YTx4P29lTZYA+cDi4+7ezqfScq8kWlFu4bqrxNpe4vCjfN2wfdrSSjWQshX
+AJqrqSNSFOOHuRUH3aiHmn0G4iZE3TQQLFRHndmSqmiwrVtnWQm9XyMim1dCVndw
+gT++3TMlsg6HA9QCZeR9uwxGQaGoQ/c5jUxLHGxHD5Dh9F1jM7kGRR3RRgU2FoQ6
+6RyEvOF6kRJ7B1pNI4R1gm6nqxOxRGFeePXex3ACTozXMzU+gHS4KA==
</ins><span class="cx"> -----END RSA PRIVATE KEY-----
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdatademoCAserial"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/data/demoCA/serial (14222 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/demoCA/serial        2014-12-11 19:36:57 UTC (rev 14222)
+++ CalendarServer/trunk/twistedcaldav/test/data/demoCA/serial        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -1 +1 @@
</span><del>-97125115FC42F5E5
</del><ins>+CA9656A56D7424A4
</ins></span></pre></div>
<a id="CalendarServertrunktwistedcaldavtestdataopensslcnf"></a>
<div class="addfile"><h4>Added: CalendarServer/trunk/twistedcaldav/test/data/openssl.cnf (0 => 14223)</h4>
<pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/test/data/openssl.cnf                                (rev 0)
+++ CalendarServer/trunk/twistedcaldav/test/data/openssl.cnf        2014-12-11 19:54:56 UTC (rev 14223)
</span><span class="lines">@@ -0,0 +1,313 @@
</span><ins>+#
+# OpenSSL example configuration file.
+# This is mostly being used for generation of certificate requests.
+#
+
+# This definition stops the following lines choking if HOME isn't
+# defined.
+HOME                        = .
+RANDFILE                = $ENV::HOME/.rnd
+
+# Extra OBJECT IDENTIFIER info:
+#oid_file                = $ENV::HOME/.oid
+oid_section                = new_oids
+
+# To use this configuration file with the &quot;-extfile&quot; option of the
+# &quot;openssl x509&quot; utility, name here the section containing the
+# X.509v3 extensions to use:
+# extensions                = 
+# (Alternatively, use a configuration file that has only
+# X.509v3 extensions in its main [= default] section.)
+
+[ new_oids ]
+
+# We can add new OIDs in here for use by 'ca' and 'req'.
+# Add a simple OID like this:
+# testoid1=1.2.3.4
+# Or use config file substitution like this:
+# testoid2=${testoid1}.5.6
+
+####################################################################
+[ ca ]
+default_ca        = CA_default                # The default ca section
+
+####################################################################
+[ CA_default ]
+
+dir                = ./demoCA                # Where everything is kept
+certs                = $dir/certs                # Where the issued certs are kept
+crl_dir                = $dir/crl                # Where the issued crl are kept
+database        = $dir/index.txt        # database index file.
+#unique_subject        = no                        # Set to 'no' to allow creation of
+                                        # several ctificates with same subject.
+new_certs_dir        = $dir/newcerts                # default place for new certs.
+
+certificate        = $dir/cacert.pem         # The CA certificate
+serial                = $dir/serial                 # The current serial number
+#crlnumber        = $dir/crlnumber        # the current crl number
+                                        # must be commented out to leave a V1 CRL
+crl                = $dir/crl.pem                 # The current CRL
+private_key        = $dir/private/cakey.pem# The private key
+RANDFILE        = $dir/private/.rand        # private random number file
+
+x509_extensions        = usr_cert                # The extentions to add to the cert
+
+# Comment out the following two lines for the &quot;traditional&quot;
+# (and highly broken) format.
+name_opt         = ca_default                # Subject Name options
+cert_opt         = ca_default                # Certificate field options
+
+# Extension copying option: use with caution.
+# copy_extensions = copy
+
+# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
+# so this is commented out by default to leave a V1 CRL.
+# crlnumber must also be commented out to leave a V1 CRL.
+# crl_extensions        = crl_ext
+
+default_days        = 365                        # how long to certify for
+default_crl_days= 30                        # how long before next CRL
+default_md        = sha1                        # which md to use.
+preserve        = no                        # keep passed DN ordering
+
+# A few difference way of specifying how similar the request should look
+# For type CA, the listed attributes must be the same, and the optional
+# and supplied fields are just that :-)
+policy                = policy_match
+
+# For the CA policy
+[ policy_match ]
+countryName                = match
+stateOrProvinceName        = match
+organizationName        = match
+organizationalUnitName        = optional
+commonName                = supplied
+emailAddress                = optional
+
+# For the 'anything' policy
+# At this point in time, you must list all acceptable 'object'
+# types.
+[ policy_anything ]
+countryName                = optional
+stateOrProvinceName        = optional
+localityName                = optional
+organizationName        = optional
+organizationalUnitName        = optional
+commonName                = supplied
+emailAddress                = optional
+
+####################################################################
+[ req ]
+default_bits                = 1024
+default_keyfile         = privkey.pem
+distinguished_name        = req_distinguished_name
+attributes                = req_attributes
+x509_extensions        = v3_ca        # The extentions to add to the self signed cert
+
+# Passwords for private keys if not present they will be prompted for
+# input_password = secret
+# output_password = secret
+
+# This sets a mask for permitted string types. There are several options. 
+# default: PrintableString, T61String, BMPString.
+# pkix         : PrintableString, BMPString.
+# utf8only: only UTF8Strings.
+# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
+# MASK:XXXX a literal mask value.
+# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings
+# so use this option with caution!
+string_mask = nombstr
+
+# req_extensions = v3_req # The extensions to add to a certificate request
+
+[ req_distinguished_name ]
+countryName                        = Country Name (2 letter code)
+countryName_default                = AU
+countryName_min                        = 2
+countryName_max                        = 2
+
+stateOrProvinceName                = State or Province Name (full name)
+stateOrProvinceName_default        = Some-State
+
+localityName                        = Locality Name (eg, city)
+
+0.organizationName                = Organization Name (eg, company)
+0.organizationName_default        = Internet Widgits Pty Ltd
+
+# we can do this but it is not needed normally :-)
+#1.organizationName                = Second Organization Name (eg, company)
+#1.organizationName_default        = World Wide Web Pty Ltd
+
+organizationalUnitName                = Organizational Unit Name (eg, section)
+#organizationalUnitName_default        =
+
+commonName                        = Common Name (e.g. server FQDN or YOUR name)
+commonName_max                        = 64
+
+emailAddress                        = Email Address
+emailAddress_max                = 64
+
+# SET-ex3                        = SET extension number 3
+
+[ req_attributes ]
+challengePassword                = A challenge password
+challengePassword_min                = 4
+challengePassword_max                = 20
+
+unstructuredName                = An optional company name
+
+[ usr_cert ]
+
+# These extensions are added when 'ca' signs a request.
+
+# This goes against PKIX guidelines but some CAs do it and some software
+# requires this to avoid interpreting an end user certificate as a CA.
+
+basicConstraints=CA:FALSE
+
+# Here are some examples of the usage of nsCertType. If it is omitted
+# the certificate can be used for anything *except* object signing.
+
+# This is OK for an SSL server.
+# nsCertType                        = server
+
+# For an object signing certificate this would be used.
+# nsCertType = objsign
+
+# For normal client use this is typical
+# nsCertType = client, email
+
+# and for everything including object signing:
+# nsCertType = client, email, objsign
+
+# This is typical in keyUsage for a client certificate.
+# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+# This will be displayed in Netscape's comment listbox.
+nsComment                        = &quot;OpenSSL Generated Certificate&quot;
+
+# PKIX recommendations harmless if included in all certificates.
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid,issuer
+
+# This stuff is for subjectAltName and issuerAltname.
+# Import the email address.
+# subjectAltName=email:copy
+# An alternative to produce certificates that aren't
+# deprecated according to PKIX.
+# subjectAltName=email:move
+
+# Copy subject details
+# issuerAltName=issuer:copy
+
+#nsCaRevocationUrl                = http://www.domain.dom/ca-crl.pem
+#nsBaseUrl
+#nsRevocationUrl
+#nsRenewalUrl
+#nsCaPolicyUrl
+#nsSslServerName
+
+[ v3_req ]
+
+# Extensions to add to a certificate request
+
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+[ v3_ca ]
+
+
+# Extensions for a typical CA
+
+
+# PKIX recommendation.
+
+subjectKeyIdentifier=hash
+
+authorityKeyIdentifier=keyid:always,issuer:always
+
+# This is what PKIX recommends but some broken software chokes on critical
+# extensions.
+#basicConstraints = critical,CA:true
+# So we do this instead.
+basicConstraints = CA:true
+
+# Key usage: this is typical for a CA certificate. However since it will
+# prevent it being used as an test self-signed certificate it is best
+# left out by default.
+# keyUsage = cRLSign, keyCertSign
+
+# Some might want this also
+# nsCertType = sslCA, emailCA
+
+# Include email address in subject alt name: another PKIX recommendation
+# subjectAltName=email:copy
+# Copy issuer details
+# issuerAltName=issuer:copy
+
+# DER hex encoding of an extension: beware experts only!
+# obj=DER:02:03
+# Where 'obj' is a standard or added object
+# You can even override a supported extension:
+# basicConstraints= critical, DER:30:03:01:01:FF
+
+[ crl_ext ]
+
+# CRL extensions.
+# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
+
+# issuerAltName=issuer:copy
+authorityKeyIdentifier=keyid:always,issuer:always
+
+[ proxy_cert_ext ]
+# These extensions should be added when creating a proxy certificate
+
+# This goes against PKIX guidelines but some CAs do it and some software
+# requires this to avoid interpreting an end user certificate as a CA.
+
+basicConstraints=CA:FALSE
+
+# Here are some examples of the usage of nsCertType. If it is omitted
+# the certificate can be used for anything *except* object signing.
+
+# This is OK for an SSL server.
+# nsCertType                        = server
+
+# For an object signing certificate this would be used.
+# nsCertType = objsign
+
+# For normal client use this is typical
+# nsCertType = client, email
+
+# and for everything including object signing:
+# nsCertType = client, email, objsign
+
+# This is typical in keyUsage for a client certificate.
+# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+# This will be displayed in Netscape's comment listbox.
+nsComment                        = &quot;OpenSSL Generated Certificate&quot;
+
+# PKIX recommendations harmless if included in all certificates.
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid,issuer:always
+
+# This stuff is for subjectAltName and issuerAltname.
+# Import the email address.
+# subjectAltName=email:copy
+# An alternative to produce certificates that aren't
+# deprecated according to PKIX.
+# subjectAltName=email:move
+
+# Copy subject details
+# issuerAltName=issuer:copy
+
+#nsCaRevocationUrl                = http://www.domain.dom/ca-crl.pem
+#nsBaseUrl
+#nsRevocationUrl
+#nsRenewalUrl
+#nsCaPolicyUrl
+#nsSslServerName
+
+# This really needs to be in place for it to be a proxy certificate.
+proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
</ins></span></pre>
</div>
</div>

</body>
</html>