<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello Reinier,</p>
    <p>around five years back I was looking for such an implementation
      as an alternative to the rather limited CAPI engine, mostly
      because the C(rypto )API does not support ECC.<br>
      The only thing I found at that time was <a moz-do-not-send="true"
href="https://mta.openssl.org/pipermail/openssl-dev/2016-June/007362.html">https://mta.openssl.org/pipermail/openssl-dev/2016-June/007362.html</a>
      and I do not know how it evolved since them.<br>
      So I am very pleased to see that meanwhile there is a way of using
      core features of Windows CAPI Next Generation (CNG) from OpenSSL.<br>
    </p>
    <p>Many thanks to RTI for providing this as open-source development
      under the Apache license.<br>
      I currently do not have the time for a closer look or even trying
      it out, but this looks very good and well documented.<br>
      In particular, <a moz-do-not-send="true"
href="https://openssl-cng-engine.readthedocs.io/en/latest/using/openssl_commands.html">https://openssl-cng-engine.readthedocs.io/en/latest/using/openssl_commands.html</a>
      gives a nice example how to use the Windows cert & key store.<br>
      Porting this to the new OpenSSL crypto provider interface will
      likely lift the limitation regarding RSA-PSS support, which lacks
      just due to the engine interface.</p>
    <p>Cheers,</p>
    <p>    David<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 01.07.21 19:49, Reinier Torenbeek
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAEdtfJtnQV63xaMqQf4tVO=qGnKsYbKjRC3OPJTkeJ6HDXUg2g@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div dir="ltr">
            <div dir="ltr">Hi,
              <div><br>
              </div>
              <div>For anyone interested in leveraging Windows CNG with
                OpenSSL 1.1.1, you may want to check out this new
                OpenSSL CNG Engine project on GitHub: <a
                  href="https://github.com/rticommunity/openssl-cng-engine"
                  target="_blank" moz-do-not-send="true">https://github.com/rticommunity/openssl-cng-engine</a>
                . The associated User's Manual is on ReadTheDocs: <a
                  href="https://openssl-cng-engine.readthedocs.io/en/latest/index.html"
                  target="_blank" moz-do-not-send="true">https://openssl-cng-engine.readthedocs.io/en/latest/index.html</a>
                .</div>
              <div><br>
              </div>
              <div>The project implements the majority of the EVP
                interface, to leverage the BCrypt crypto
                implementations, as well as a subset of the STORE
                interface, for integration with the Windows Certificate
                and Keystore(s), via the NCrypt and Cert APIs. It has
                been tested with 1.1.1k on Windows 10, with Visual
                Studio 2017 and 2019. It is released under the
                Apache-2.0 license.</div>
              <div><br>
              </div>
              <div>Any feedback is welcome, please send it to me or open
                an issue on GitHub.</div>
              <div><br>
              </div>
              <div>Best regards,</div>
              <div>Reinier</div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
  </body>
</html>