docs: @Override
      public byte[] getSigningKey () throws SmbException {
          /*
           * The kerberos session key is not accessible via the JGSS API. IBM and
           * Oracle both implement a similar API to make an ExtendedGSSContext
           * available. That API is accessed via reflection to make this independent
           * of the runtime JRE
           */
          if ( EXT_GSS_CONTEXT_CLASS == null || INQUIRE_SEC_CONTEXT == null || INQUIRE_TYPE_SESSION_KEY == null ) {
              throw new SmbException("ExtendedGSSContext support not available from JRE");
          }
          else if ( EXT_GSS_CONTEXT_CLASS.isAssignableFrom(this.gssContext.getClass()) ) {
              try {
                  Key k = (Key) INQUIRE_SEC_CONTEXT.invoke(this.gssContext, new Object[] {
                      INQUIRE_TYPE_SESSION_KEY
                  });
                  return k.getEncoded();
              }
              catch (
                  IllegalAccessException |
                  IllegalArgumentException |
                  InvocationTargetException ex ) {
                  throw new SmbException("Failed to query Kerberos session key from ExtendedGSSContext", ex);
              }
          }
          throw new SmbException("ExtendedGSSContext is not implemented by GSSContext");
      }