Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>To answer the original question:</p> <h2>The server “foo.example.com” requires a client certificate.</h2> <p><em>Translation: Xcode can't find the SSL client certificate in your keychain, the certificate is not valid, or if there's multiple certificates, Xcode doesn't know which one to use.</em></p> <p><strong>To install a certificate in your keychain:</strong> In Finder, open the file that contains your client certificate (typically a .p12 file). Click Add, then enter the password to decrypt the .p12 file. If you have the corresponding root certificate (typically a .pem file), import it as well and click "Always Trust" when prompted.</p> <p><strong>To make sure the certificate is valid:</strong> In Keychain Access, select the client certificate and look for a green checkmark and the words "This certificate is valid".</p> <ul> <li>If you see "This certificate was signed by an unknown authority", install a corresponding root certificate.</li> <li>If you see "This certificate was signed by an untrusted issuer", look for where it says "Issued by", find the corresponding root certificate by that name, and mark the root certificate as trusted (at least for X.509 Basic Policy).</li> <li>If you see "This certificate has expired", delete it and get a new one.</li> </ul> <p><strong>To associate the URL with a specific certificate:</strong> You need an identity preference. Xcode can't do this, but both Keychain Access and Safari can. In Keychain Access, select the client certificate and choose File menu > New Identity Preference…. Enter the repository URL (e.g. <code>https://foo.example.com/path/to/repository</code>) and click Add.</p> <p>Alternatively: In Safari, go to your repository URL. If there are multiple certificates installed, Safari will prompt "The website “foo.example.com” requires a client certificate" and show a list of certificates. Choose the one you installed in step (1).</p> <hr> <p>To get everything working, you also need to get past these two common errors:</p> <h2>Client certificate filename: Authentication realm: <code>https://foo.example.com:443</code></h2> <p><em>Translation: Subversion can't find your SSL client certificate on disk.</em></p> <p>Xcode uses Keychain, and Subversion itself (as of v1.4) uses Keychain as well for passwords. For certificates, however, Subversion must be pointed to files on disk. </p> <p>1) Open <code>~/.subversion/servers</code> in your favorite text editor. At the bottom, add the line</p> <pre><code>ssl-client-cert-file = /path/to/first.last.p12 </code></pre> <p>where the value is the path to your client certificate in PKCS#12 format.</p> <h2>svn: OPTIONS of '<code>https://foo.example.com/path/to/repository</code>': SSL handshake failed, client certificate was requested: SSL error: sslv3 alert handshake failure</h2> <p><em>Translation: Subversion can't find the password to decrypt your SSL client certificate.</em></p> <p>See explanation above.</p> <p><strong>To save your .p12 password in Keychain:</strong> In Terminal, type</p> <pre><code>svn ls https://foo.example.com/path/to/repository </code></pre> <ul> <li>When prompted, enter the password for the .p12 file. This will be stored in your keychain as an application password.</li> <li>When prompted, enter the administrator password for your Mac.</li> <li>When prompted, enter your server credentials. This will also be stored in your keychain as an application password.</li> </ul> <p>At this point, you should see the contents of your repository displayed in Terminal.</p> <p>Note: If you use Versions by Black Pixel, at least v1.2.2 seems to have trouble using Keychain for passwords, so in <code>~/.subversion/servers</code> you'll also need to add the line</p> <pre><code>ssl-client-cert-password = yourpassword </code></pre> <p>where your password is in cleartext. (This is obviously not secure, so don't do it unless you have to.)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload