<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div><div>Hi OpenSSL users and its glorious developers, <br><br></div>Thank you very much for OpenSSL 3!<br><br></div>My question is about writing a provider. I decided to start from a Windows certificate storage provider. It already works with "openssl storeutl" command, but can't make it work with "openssl ca".</div><div><br></div>When openssl expects a certificate, I return an encoded certificate directly. OpenSSL parses it and the public key belongs to the "OpenSSL RSA" provider. I can't give private keys from Windows cert. storage and return something virtual from my key management provider.<br><div><div><div><br></div><div>At the next step, openssl.exe does matching, compares key types: public key's type is "OpenSSL RSA" and the private key type of "MYPKEY". It is done inĀ  evp_keymgmt_util_match.<br></div><div>I was hoping it would be called OSSL_FUNC_KEYMGMT_MATCH for both providers, but it only compares strings and says types are different. If I declare that my key management also handles RSA in OSSL_ALGORITHM as "MYPKEY:RSA" OpenSSL tool gives an error that RSA has an existing different identity.<br></div><div></div><div></div><div></div><div><br>I'm exploring the source, but I'm stuck. Is it the wrong approach or I missed something ?<br></div><div><br></div><div>--</div><div>Best Regards</div><div>Alex Dankow<br></div><div><br></div></div></div></div></div></div></div>