<div dir="ltr">Hi everyone,<div>I've noticed it should theoretically be possible to sign the SAML assertion with the ECDSA algorithm. (<a href="https://wiki.shibboleth.net/confluence/display/IDP4/SecurityConfiguration" target="_blank">https://wiki.shibboleth.net/confluence/display/IDP4/SecurityConfiguration</a>).</div><div>According to the documentation it mentions that the picking either ECDSA or RSA should be done based on the key size.</div><div>However, I've tried using multiple key sizes and failed to generate an ECDSA key. (I've specified the key size using the <font face="monospace">-Didp.keysize</font> in the installer).</div><div>I've decided to try to read the code of the installer and got to the following code (from V4Install.java):</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><font face="monospace">              final SelfSignedCertificateGenerator generator = new SelfSignedCertificateGenerator();<br>              generator.setCertificateFile(crt.toFile());<br>              generator.setPrivateKeyFile(key.toFile());<br>              generator.setKeySize(installerProps.getKeySize());<br>              generator.setHostName(installerProps.getHostName());<br>              generator.setURISubjectAltNames(Collections.singletonList(installerProps.getSubjectAltName()));<br>              <a href="http://log.info">log.info</a>("Creating {}, CN = {} URI = {}, keySize={}", fileBase,<br>                      installerProps.getHostName(), installerProps.getSubjectAltName(), installerProps.getKeySize());<br>              try {<br>                generator.generate();<br>                } catch (final Exception e) {<br>                    log.error("Error building {} files", fileBase, e);<br>                    throw new BuildException("Error Building Self Signed Cert", e);<br>                }<br><br></font>In which the generator object generates key with the given characteristics to the determined output files.<br>The generator is initialized in the SelfsignedCertificateGenerator() with attribute "keyType" which defauls to "RSA".<br>I couldn't find any way to control the key to be of another type (such as elliptic curve).<br>Does anyone know how to do this?<br><br>Thanks!</blockquote></div>