<div dir="ltr">Any updates on this?<div><br></div><div>Thanks,</div><div>Martin.-</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 15, 2018 at 9:53 PM, Valerie Peng <span dir="ltr"><<a href="mailto:valerie.peng@oracle.com" target="_blank">valerie.peng@oracle.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    I am ok with the idea of putting the public API refactoring under a
    separate RFE.<br>
    Let me apply your updated patch below and run existing regressions
    again.<br>
    Thanks,<br>
    Valerie<div><div class="h5"><br>
    <br>
    <div class="m_-633595937218925127moz-cite-prefix">On 2/5/2018 5:51 AM, Martin Balao
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>Hi Valerie,</div>
        <div><br>
        </div>
        <div>Thanks for your review.</div>
        <div><br>
        </div>
        <div>Here it's the new webrev updated to the new repository
          structure. I've also updated the testcase to use the new
          @module jtreg feature:</div>
        <div><br>
        </div>
        <div> * <a href="http://cr.openjdk.java.net/%7Eakasko/mbalao/jdk_8029661_tls_12_sunpkcs11/2018_02_02/8029661.webrev.02" target="_blank">http://cr.openjdk.java.net/~<wbr>akasko/mbalao/jdk_8029661_tls_<wbr>12_sunpkcs11/2018_02_02/<wbr>8029661.webrev.02</a>
          (online)</div>
        <div> * <a href="http://cr.openjdk.java.net/%7Eakasko/mbalao/jdk_8029661_tls_12_sunpkcs11/2018_02_02/8029661.webrev.02.zip" target="_blank">http://cr.openjdk.java.net/~<wbr>akasko/mbalao/jdk_8029661_tls_<wbr>12_sunpkcs11/2018_02_02/<wbr>8029661.webrev.02.zip</a>
          (download)</div>
        <div><br>
        </div>
        <div>A few comments in regards to creating public APIs from
          sun.security.internal.spec classes.</div>
        <div><br>
        </div>
        <div>Classes in
          jdk/src/java.base/share/<wbr>classes/sun/security/internal/<wbr>spec:</div>
        <div> * TlsKeyMaterialParameterSpec.<wbr>java</div>
        <div> * TlsMasterSecretParameterSpec.<wbr>java</div>
        <div> * TlsRsaPremasterSecretParameter<wbr>Spec.java</div>
        <div> * TlsKeyMaterialSpec.java</div>
        <div> * TlsPrfParameterSpec.java</div>
        <div><br>
        </div>
        <div>Classes in
          jdk/src/java.base/share/<wbr>classes/java/security/spec (which I
          assume would be the destination):</div>
        <div> * AlgorithmParameterSpec.java</div>
        <div> * ECGenParameterSpec.java</div>
        <div> * InvalidParameterSpecException.<wbr>java</div>
        <div> * RSAOtherPrimeInfo.java</div>
        <div> * DSAGenParameterSpec.java</div>
        <div> * ECParameterSpec.java</div>
        <div> * KeySpec.java</div>
        <div> * ...</div>
        <div><br>
        </div>
        <div>TlsRsaPremasterSecretParameter<wbr>Spec class contains
          information about min and max SSL/TLS version and, optionally,
          the pre-master encoded key. This information may be useful to
          any 3rd party class that implements a KeyGenerator to generate
          RSA pre-master secrets. </div>
        <div><br>
        </div>
        <div>TlsMasterSecretParameterSpec class contains information
          (client/server random, pre-master secret, hash algorithm,
          etc.) to generate a master secret from a pre-master secret.</div>
        <div><br>
        </div>
        <div>TlsKeyMaterialParameterSpec class contains information
          (client/server random, master secret, hash algorithm, etc.) to
          generate keys for a session from a master secret.</div>
        <div><br>
        </div>
        <div>TlsPrfParameterSpec class contains information (secret key,
          label, hash algorithm, etc.) to generate handshake
          authentication codes.</div>
        <div><br>
        </div>
        <div>TlsKeyMaterialSpec class contains information about session
          keys. This class inherits from SecretKey class.</div>
        <div><br>
        </div>
        <div>So, I agree with you: these parameters/specs may be used by
          a 3rd party and would be better to have them as public
          interfaces.</div>
        <div><br>
        </div>
        <div>However, I suggest to address that in a new ticket because:</div>
        <div> * it is not strictly inherent to SunPKCS11 + TLS 1.2
          support we are providing in the context of this ticket;</div>
        <div> * it would be more clear both in tickets documentation and
          repository changeset;</div>
        <div> * this refactoring is going to go through CSR, which
          SunPKCS11 + TLS 1.2 support does not need; and,</div>
        <div> * we should also evaluate how TLS 1.3 changes going to
          impact into this.</div>
        <div><br>
        </div>
        <div>Would splitting this into a new ticket work for you?</div>
        <div><br>
        </div>
        <div>Kind regards,</div>
        <div>Martin.-</div>
        <div class="gmail_extra"><br>
        </div>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div></div>