<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
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="">
<div class="">Cordialement,</div>
<div class="">Erwann Abalea</div>
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">Le 29 juin 2016 à 19:17, Michael Scott <<a href="mailto:mike.scott@miracl.com" class="">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 class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Mike<br class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</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 href="mailto:Erwann.Abalea@docusign.com" target="_blank" class="">Erwann.Abalea@docusign.com</a>></span> wrote:<br class="">
<blockquote class="gmail_quote" 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="">
<div class="">Cordialement,</div>
<div class="">Erwann Abalea</div>
</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">
<div class="h5">
<div class="">Le 29 juin 2016 à 16:46, Michael Scott <<a href="mailto:mike.scott@miracl.com" target="_blank" class="">mike.scott@miracl.com</a>> a écrit :</div>
<br class="">
</div>
</div>
<div class="">
<div class="">
<div class="h5">
<div dir="ltr" class="">Hello,
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<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 class=""><br class="">
</div>
<div class="">Mike</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</div>
</div>
</div>
<span class="">-- <br class="">
openssl-users mailing list<br class="">
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" target="_blank" class="">
https://mta.openssl.org/mailman/listinfo/openssl-users</a><br class="">
</span></div>
</blockquote>
</div>
<br class="">
</div>
</div>
<br class="">
--<br class="">
openssl-users mailing list<br class="">
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-users" rel="noreferrer" target="_blank" class="">
https://mta.openssl.org/mailman/listinfo/openssl-users</a><br class="">
<br class="">
</blockquote>
</div>
<br class="">
</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="">
</div>
</body>
</html>