grant codebase "file:${user.dir}${/}loader.jar" {
    permission java.security.AllPermission;
};

grant {
    permission java.util.PropertyPermission "*", "read,write";
    permission java.lang.RuntimePermission "loadLibrary.*";
    permission java.lang.RuntimePermission "accessClassInPackage.sun.*";
    permission java.lang.RuntimePermission "getProtectionDomain";
    permission java.lang.RuntimePermission "setSecurityManager";
    permission java.security.SecurityPermission "putProviderProperty.*";

    permission java.io.FilePermission "<<ALL FILES>>", "read";
    permission java.security.SecurityPermission "setProperty.auth.login.defaultCallbackHandler";
    permission java.security.SecurityPermission "authProvider.SunPKCS11-nss";

    // for 'module' test
    permission java.lang.RuntimePermission "accessClassInPackage.sun.*";
    permission javax.security.auth.AuthPermission "modifyPrincipals";
    permission javax.security.auth.AuthPermission "modifyPublicCredentials";
    permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
    permission javax.security.auth.PrivateCredentialPermission "javax.security.auth.x500.X500PrivateCredential * \"*\"", "read";
};