Chapter 17. Security

Table of Contents

17.1. User Authentication
17.1.1. Login Passwords
17.1.2. PIN Codes
17.1.3. Authentication Tokens
17.1.4. One-time Authentication Tokens
17.1.5. User Dialog
17.2. Access over Internet
17.2.1. security.txt
17.3. Web Sessions
17.3.1. Web Session Timeout
17.3.2. Web Session Cookies
17.4. SSL Passwords
17.5. Secured JMX Connection
17.6. Encrypted Secrets
17.7. Document Signature
17.8. User Client
17.9. Server Commands
17.10. Web Services
17.11. Log Files
17.12. Network Card Reader
17.13. Internal Services
17.14. External Services
17.15. Vouchers

This chapter discusses how SavaPage secures sensitive user and application data, and how it communicates with external Information Providers.

17.1. User Authentication

This section discusses how user credentials are protected.

17.1.1. Login Passwords

This section is about the passwords and PIN codes entered in the Web App Login Dialog.


Users can use the HTTPS protocol for connecting to the Web App, so data is encrypted to and from the server. User Domain Passwords

SavaPage does not store or cache user domain login passwords. These passwords are always checked real-time at the source. Internal User Passwords

Passwords of Internal Users are stored as SHA1 hash in the database. Internal Admin Password

The SHA1 hashed password of the internal administrator admin is stored in a text file located at /opt/savapage/server/ Access to this file is restricted to the savapage user.

SavaPage installs with admin as initial password for user admin.


If you forgot the internal admin password, you can reset it by editing the admin.password property in the /opt/savapage/server/ text file. Ignore the existing HASH value. SavaPage will hash your password upon first use.

17.1.2. PIN Codes

User PIN codes are stored in the database as encrypted secret.

17.1.3. Authentication Tokens

When Authentication Persistence is enabled for Browser Local Storage, authentication tokens are stored in the Local Storage of the browser. See Section 4.11.3, “User Authentication”.

Separate authentication tokens are held for the User, Admin, POS and Job Tickets Web App context and the same token is used for different sessions (on different devices) of a single user. A explicit logout in the Web App destroys the token. Authentication tokens are managed in memory on the SavaPage server. So, when the server restarts all local tokens are implicitly invalidated.

17.1.4. One-time Authentication Tokens

A Trusted Third Party (TTP) can acquire a one-time token for Web App user authentication by calling an XML-RPC method. The expiration time of the token should be as short as possible to minimize the risk that an accidentally exposed token can be misused. See Section C.2.1.1, “onetime-auth.createToken” for details.

17.1.5. User Dialog

When authentication fails a neutral "Authentication failed" message is communicated to the user to prevent Account Enumeration and Guessable User Account.