<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Maybe we just didn’t. At least not with the command line tools.</div>
<div class="">The CHANGES file lists a merge between « dh », « gendh », and « dhparam » in 2000, but no evolution since then.</div>
<div class="">The oldest version I could find is 0.9.6, and there’s no command-line DH key generation.</div>
<br class="">
<div class="">
<div class="">Cordialement,</div>
<div class="">Erwann Abalea</div>
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">Le 30 juin 2016 à 16:58, Jakob Bohm <<a href="mailto:jb-openssl@wisemo.com" class="">jb-openssl@wisemo.com</a>> a écrit :</div>
<br class="Apple-interchange-newline">
<div class="">
<div bgcolor="#FFFFFF" text="#000000" class="">
<div class="moz-cite-prefix"><tt class="">Which brings back my generalized question from yesterday:</tt><tt class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class="">Since X25519 is not the first "encrypt-only" algorithm in the </tt>
<tt class=""><br class="">
</tt><tt class="">OpenSSL universe, how was requesting certificates handled for <br class="">
</tt><tt class="">such algorithms in the past?</tt><tt class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class="">For example how would one request a DH certificate?</tt><tt class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class="">Whatever was defined back then might be trivially extended <br class="">
to also handle X25519.</tt><tt class=""><br class="">
</tt><br class="">
<br class="">
On 30/06/2016 10:37, Erwann Abalea wrote:<br class="">
</div>
<blockquote class=" cite" id="mid_1E082092_B0C9_4B6B_96CC_E4481039FD6F_docusign_com" cite="mid:1E082092-B0C9-4B6B-96CC-E4481039FD6F@docusign.com" type="cite">
Ok, you’re talking about OpenSSL command line tool only, I missed that part.
<div class=""><br class="">
</div>
<div class="">The solution should then be to modify apps/ca.c:certify() function to add an arg, and avoid the call to X509_REQ_verify when desired.</div>
<div class=""><br class="">
<div class="">
<blockquote id="Cite_8924659" type="cite" class=" cite">
<div class="">Le 29 juin 2016 à 19:17, Michael Scott <<a moz-do-not-send="true" href="mailto:mike.scott@miracl.com" class=""></a><a class="moz-txt-link-abbreviated" href="mailto:mike.scott@miracl.com">mike.scott@miracl.com</a>> a écrit :</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">Thanks Erwann, but that's not an answer to my question. 
<div class=""><br class="">
<div class="">To get the CA to sign (using RSA or anything) a certificate that contains an X25519 public key, that certificate must first submit to the CA something called a "Certificate request". This takes the form of the supplicant certificate, which is
 self-signed. However you cannot self-sign with an X25519 key (using the openssl command line tool), as it objects that X25519 does not support signature.  </div>
<div class=""><br class="">
</div>
<div class="">So the issue arises around the "certificate request" process. There is I agree no problem in creating the certificate itself.</div>
</div>
</div>
<div class="gmail_extra"><br class="">
<div class="gmail_quote">On Wed, Jun 29, 2016 at 4:27 PM, Erwann Abalea <span dir="ltr" class="">
<<a moz-do-not-send="true" href="mailto:Erwann.Abalea@docusign.com" target="_blank" class="">Erwann.Abalea@docusign.com</a>></span> wrote:<br class="">
<blockquote id="Cite_929619" class="gmail_quote cite" style="margin:0 0 0 .8ex;border-left:1px #ccc
                    solid;padding-left:1ex">
<div style="word-wrap:break-word" class="">Bonjour,
<div class=""><br class="">
</div>
<div class="">You may have a classic certificate containing your {X,Ed}{25519,448,whatever} public key once:</div>
<div class="">
<ul class="">
<li class="">an OID is allocated to identify this type of public key (it will go into tbs.subjectPublicKeyInfo.algorithm.algorithm)
</li><li class="">a set of associated optional parameters are defined for this OID (to go into tbs.subjectPublicKeyInfo.algorithm.parameters)
</li><li class="">a canonical encoding for this type of public key is defined, so the key material can be enclosed into tbs.subjectPublicKeyInfo.subjectPublicKey
</li></ul>
</div>
<div class=""><br class="">
</div>
<div class="">This certificate may be RSA-signed or ECDSA-signed (or whatever-signed, in fact).</div>
<div class=""><br class="">
</div>
<div class="">For a CA to be able to Ed{25519,448,whatever}-sign something, the previous steps must have been done, plus:</div>
<div class="">
<ul class="">
<li class="">an OID is allocated to identify the signature algorithm to apply (it will not be ECDSA) -> cert.signatureAlgorithm.algorithm
</li><li class="">a set of associated optional parameters are defined for this OID -> cert.signatureAlgorithm.parameters
</li><li class="">a canonical encoding for the signature value is defined, so it can be enclosed into cert.signatureValue
</li></ul>
</div>
<div class=""><br class="">
</div>
<div class="">All this is being discussed at CFRG.</div>
<div class=""><br class="">
<div class="">
<blockquote id="Cite_1806787" type="cite" class=" cite">
<div class="">
<div class="h5">
<div class="">Le 29 juin 2016 à 16:46, Michael Scott <<a moz-do-not-send="true" href="mailto:mike.scott@miracl.com" target="_blank" class=""></a><a class="moz-txt-link-abbreviated" href="mailto:mike.scott@miracl.com">mike.scott@miracl.com</a>> a écrit :</div>
<br class="">
</div>
</div>
<div class="">
<div class="">
<div class="h5">
<div dir="ltr" class="">
<div class="">How do I do this? Using the OpenSSL command line tool, a certificate request must be self-signed, but the X25519 elliptic curve (newly supported in version 1.1.0), doesn't do signature, it can only be used for key exchange.</div>
<div class=""><br class="">
</div>
<div class="">(Of course the X25519 Montgomery curve is birationally equivalent to an Edwards curve which can do signature. And indeed it is our intention to use the Edwards curve. But first I need a CA-signed X25519 cert. But because of the above catch-22
 problem, I cannot create one.) </div>
<div class=""><br class="">
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<pre class="moz-signature" cols="72">Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  <a class="moz-txt-link-freetext" href="https://www.wisemo.com/">https://www.wisemo.com</a>
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded </pre>
</div>
-- <br class="">
openssl-users mailing list<br class="">
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" class="">
https://mta.openssl.org/mailman/listinfo/openssl-users</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</body>
</html>