git clone https://git.sipsolutions.net/cups-sharp.git
This small script allows you to print to Sharp MFP/Network Printers with authentication enabled. In this mode the username and password (account login data) are encrypted and send to the printer.
Of course, Sharp does not officially support this, so the login data encryption needed to be reverse engineered. What happens is that the ACCOUNTLOGIN and ACCOUNTPASSWORD attributes are AES encrypted and base64 encoded. It is important to noce, that the used mechanism is inherently insecure, as the passwords can easily be decrypted by anyone who has access to the JCL/PJL header of the print job. Please refere to the source code for details on how the encryption works.
This tool not only implements the encryption, but adds a cups filter, and a user space script to ask for the login data via DBus when the print job is spooling. It is important to read the README to get things working properly.
The implementation is used in a production Debian/GNU Linux environment. It uses GTK+ for the user interface, and DBus for its communication needs.
There are already PPDs created for the following printers:
- Sharp MX-M753U
Creating new PPDs should be relatively straight forward.