<div dir="ltr"><div>I think the new bug description is backward, as you cannot expect to implement all algorithms in all providers or use a key class fron one provider in antoher (especially not if they use mechanisms in external APIs like PKCS11 or MSCAPI with HSM). <br><br>"Crypto keys should be compatible between security providers"<br><a href="https://bugs.openjdk.java.net/browse/JDK-8182386">https://bugs.openjdk.java.net/browse/JDK-8182386</a><br><br>So the limiting of ciphers should be based on the actual provider used (or key selected) and not based on the subset of all providers present.<br><br></div><div>Maybe something like "JSSE should adjust available ciphers based on effective provider". Its just a question how the current api can support that (this is also somewhat related to the point of key usage flags which also may restrict some ciphers which is only known until the actual Key instance can be examined).<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-06-16 23:17 GMT+02:00 Artem Smotrakov <span dir="ltr"><<a href="mailto:artem.smotrakov@oracle.com" target="_blank">artem.smotrakov@oracle.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This patch backs out 8182143 because of possible issues on Windows even if we don't have a test to reproduce it.<br>
<br>
Checking if SunMSCAPI provider is enabled looks like a hack. I filed <a href="https://bugs.openjdk.java.net/browse/JDK-8182386" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/<wbr>browse/JDK-8182386</a><br>
<br>
Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8182388" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/<wbr>browse/JDK-8182388</a><br>
Webrev: <a href="http://cr.openjdk.java.net/~asmotrak/8182388/webrev.00/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~as<wbr>motrak/8182388/webrev.00/</a><span class="HOEnZb"><font color="#888888"><br>
<br>
Artem<br>
</font></span></blockquote></div><br></div>