title: Cannot package signed Java security providers with JMOD
body: <p>I'm reading <a href="https://docs.oracle.com/en/java/javase/11/security/howtoimplaprovider.html#GUID-CF5F0E7D-BA0E-494C-8A5A-B228FF839AEF" rel="nofollow noreferrer">this documentation</a> about implementing a provider in the Java cryptography architecture and it states that</p>
  <blockquote>
  <p>You cannot package signed providers in JMOD files</p>
  </blockquote>
  <p>The article also states:</p>
  <blockquote>
  <p>Only providers that supply instances of Cipher, KeyAgreement, KeyGenerator, Mac, or SecretKFactory must be signed. If your provider only supplies instances of SecureRandom, MessageDigest, Signature, KeyStore, etc., the provider does not need to be signed.</p>
  </blockquote>
  <p>I am trying to develop this provider using the JDK 11 version, which makes use of .jmod files in replacement of .jar files.</p>
  <p>And I was <a href="https://docs.oracle.com/javase/10/security/oracle-providers.htm#JSSEC-GUID-FE2D2E28-C991-4EF9-9DBE-2A4982726313" rel="nofollow noreferrer">looking at the functions used by the standard security policies</a>
  and many of them use Cipher, KeyAgreement, KeyGenerator, Mac, or SecretKeyFactory, but are somehow packaged into .jmod format in the JDK 11 I'm using.</p>
  <p>Can anyone explain this further?</p>