Printsecure Administration Guide en
Printsecure Administration Guide en
Printsecure Administration Guide en
PrintSecure
Printer Administration
Guide
P1099957-04EN
ZEBRA and the stylized Zebra head are trademarks of Zebra Technologies Corporation,
registered in many jurisdictions worldwide. All other trademarks are the property of their
respective owners.
©2019 Zebra Technologies Corporation and/or its affiliates. All rights reserved.
Information in this document is subject to change without notice. The software described in this
document is furnished under a license agreement or nondisclosure agreement. The software
may be used or copied only in accordance with the terms of those agreements.
For further information regarding legal and proprietary statements, please go to:
SOFTWARE:
COPYRIGHTS: www.zebra.com/copyright
WARRANTY: www.zebra.com/warranty
END USER LICENSE AGREEMENT: www.zebra.com/eula
Terms of Use
Proprietary Statement
This manual contains proprietary information of Zebra Technologies Corporation and its
subsidiaries (“Zebra Technologies”). It is intended solely for the information and use for parties
operating and maintaining the equipment described herein. Such proprietary information may not
be used, reproduced, or disclosed to any other parties for any other purpose without the
express, written permission of Zebra Technologies.
Product Improvements
Continuous improvement of products is a policy of Zebra Technologies. All specifications and
designs are subject to change without notice.
Liability Disclaimer
Zebra Technologies takes steps to ensure that its published Engineering specifications and
manuals are correct; however, errors do occur. Zebra Technologies reserves the right to correct
any such errors and disclaims liability resulting therefrom.
Limitation of Liability
In no event shall Zebra Technologies or anyone else involved in the creation, production, or
delivery of the accompanying product (including hardware and software) be liable for any
damages whatsoever (including, without limitation, consequential damages including loss of
business profits, business interruption, or loss of business information) arising out of the use of,
the results of use of, or inability to use such product, even if Zebra Technologies has been
advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or
limitation of incidental or consequential damages, so the above limitation or exclusion may not
apply to you.
Table of Contents
Introduction ................................................................................................................................ 5
Overview .................................................................................................................................... 5
Common Sense Best Practices .................................................................................................. 6
Steps to Take: ............................................................................................................................ 7
Census: Which Devices Do You Have? .................................................................................. 7
Consider: Which Admin Capabilities Does Your Printer Have? ............................................... 8
Premade Administration Files .............................................................................................. 9
Configure: ............................................................................................................................... 9
Confirm: .................................................................................................................................. 9
Commands: ............................................................................................................................... 10
Protected Mode Commands ................................................................................................... 11
Services and Networking Commands ..................................................................................... 14
Communications Commands ................................................................................................. 24
Applications Commands ........................................................................................................ 43
User Interface ........................................................................................................................ 48
Best Practices - Protected Mode ............................................................................................... 51
Best Practices – Printer OS Download Protection ..................................................................... 54
Best Practices - LAN 802.1x ...................................................................................................... 55
Security ................................................................................................................................. 55
Username .............................................................................................................................. 55
Private Key Passphrase ......................................................................................................... 55
Certificate Files ...................................................................................................................... 55
Best Practices - Certificates ...................................................................................................... 56
PKI Recommendations .......................................................................................................... 56
Files ....................................................................................................................................... 56
Certificate Size Requirements ................................................................................................ 56
Unique Device Certificates ..................................................................................................... 56
Certificate Life ....................................................................................................................... 57
Certificate Creation ................................................................................................................ 57
RSA .................................................................................................................................... 57
ECC ................................................................................................................................... 57
Supported Ciphers ................................................................................................................. 58
Certificate Downloading ......................................................................................................... 59
Validating Certificates ............................................................................................................ 60
Deleting Certificates............................................................................................................... 61
Best Practices - WLAN Certificates ........................................................................................... 62
Automation ............................................................................................................................ 62
Generate CSR ....................................................................................................................... 62
Return response and alert ..................................................................................................... 64
Supported ECDSA curves ...................................................................................................... 65
Place Cert .............................................................................................................................. 66
Certificate Expiration.............................................................................................................. 67
Best Practices - Bluetooth Security ........................................................................................... 68
Overview ............................................................................................................................... 68
Transports .......................................................................................................................... 68
Pairing and Encryption ....................................................................................................... 68
Authentication .................................................................................................................... 68
Bluetooth Classic ................................................................................................................... 69
Discoverability .................................................................................................................... 69
Overview
Administering Thermal label and receipt printers might, at first, appear to be a very different task
than managing other devices, such as computers or smartphones. Fortunately, there is a well-
established, reliable model and a set of best practices that can be easily applied to minimize
risks and make the task straightforward.
The “CIA Model” provides a guiding framework when considering how to reasonably and
effectively raise the bar on risk mitigation. The model can be applied to all devices that utilize
the data protected by enterprise information systems, from the more traditional connected
solutions to the new players in the connected environment, such as intelligent thermal barcode
printers. It includes three components:
The concept of confidentiality is to
ensure that information is only
available to the people who are
authorized to access it. This protection
applies equally to data at rest, in
motion and during processing.
Confidentiality and Privacy are
sometimes used interchangeably;
however, confidentiality is normally an
extension of privacy. Data encryption
is a common method of ensuring
confidentiality as are various methods
of authentication for authorization.
1 •Start early. Plan for incoming devices, and how you’ll protect them.
•Keep update schedules and plans only in the hands of those who need to have
6 them. Knowing when updates are planned can inadvertently encourage
inappropriate actions.
•Plan for a method to continuously monitor your system for “out of touch” devices.
7 Where you suspect a device has been taken out of your environment, withdraw its
credentials until the device status is determined.
•Choose devices that can be updated across their long service lives so they keep
8 current with new standards. Verify that the update system uses a method to ensure
the update file hasn’t been tampered with.
•Plan for device retirement by removing enterprise system settings, deleting device
9 user Accounts/Credentials and checking to make sure the existing system isn’t
hardcoded to look for retired devices.
Legacy
Models
Link-OS®
Security
Protected Mode
OS Download Blocking
Decommissioning Mode
Services
HTTP
HTTPS
FTP
LPD
UDP
SMTP
SNMP
Raw Telnet
POP3
NTP
Communications
Auto-WLAN Cert Management
Bluetooth Mode
Bluetooth Discoverability
Bluetooth Enable
BTLE
USB Host
Ethernet
WLAN
ESSID
802.11x
RTS/CTS Protection
IP Address Whitelist
IP Port
IP Alternate port
JSON port
Single connection port
TLS IP Port
TLS JSON Port
TLS Enable
Web sockets port
Asset Visibility Agent
Applications
Data Capture
XML Printing
USB Mirror
FTP Mirror
SFTP Mirror
Zebra Basic Interpreter
User Interface
Password
Configure:
Send Commands to Alter Admin Settings
Confirm:
Validate the New Settings
This can be the most time-consuming portion of the process. Each Administrative capability
used will have consequences for how the printer works, what it can do, and how it will work with
other devices. Time should be taken to carefully consider which Administrative features are
used, and how they may impact the use of the printer.
Applications Commands
Capture Port ................................................................................................................................................ 43
SYSLOG ...................................................................................................................................................... 46
USB Mirror ................................................................................................................................................... 45
XML Printing ................................................................................................................................................ 44
Zebra Basic Interpreter (ZBI) ....................................................................................................................... 47
Communications Commands
Alternate TCP RAW Port .............................................................................................................................. 35
Asset Visibility Agent ................................................................................................................................... 42
Bluetooth Discoverability .............................................................................................................................. 25
Bluetooth Enable ......................................................................................................................................... 24
Bluetooth Mode ............................................................................................................................................ 26
ESSID .......................................................................................................................................................... 30
JSON RAW Port .......................................................................................................................................... 36
RTS/CTS Protection .................................................................................................................................... 32
TCP Port Single Connection ........................................................................................................................ 37
TCP RAW Port ............................................................................................................................................. 34
TLS Enable .................................................................................................................................................. 40
TLS JSON Port ............................................................................................................................................ 39
TLS RAW Port ............................................................................................................................................. 38
USB Host ..................................................................................................................................................... 27
WEBLINK Connect ...................................................................................................................................... 41
Whitelisting .................................................................................................................................................. 33
Wired Ethernet ............................................................................................................................................. 28
Wireless Option ........................................................................................................................................... 31
WLAN .......................................................................................................................................................... 29
Protected Mode Commands
Printer OS Download Control ....................................................................................................................... 13
Protected Mode Allowed .............................................................................................................................. 12
Protected Mode State .................................................................................................................................. 11
Services and Networking Commands
FTP Service ................................................................................................................................................. 16
HTTP Service .............................................................................................................................................. 14
HTTPS Service ............................................................................................................................................ 15
LPD Service ................................................................................................................................................. 17
NTP Service ................................................................................................................................................ 22
POP3 Mail Service ....................................................................................................................................... 21
SMTP Service .............................................................................................................................................. 19
SNMP Service ............................................................................................................................................. 20
Time ............................................................................................................................................................ 23
UDP Service ................................................................................................................................................ 18
User Interface
Admin Password .......................................................................................................................................... 49
Username .................................................................................................................................................... 50
Web UI Password ........................................................................................................................................ 48
Example:
! U1 getvar "device.protected_mode"
The printer responds with the current setting value: “on” or “off”.
Return to Command List
Example:
! U1 getvar "device.protected_mode_allowed"
The printer responds with the current setting value: “yes” or “no”.
Return to Command List
Considerations: The default for this setting is “yes”. It is recommended that Printer OS
Download control be enabled to prevent unplanned Printer OS updates. Protected Mode
should also be enabled to protect this setting and prevent it from being altered.
Control Commands: The Printer OS Download Control capability is controlled by the
device.allow_firmware_downloads command. More detail can be found in the Best
Practices - Firmware Protection section of this guide.
To set the command:
! U1 setvar "device.allow_firmware_downloads" "yes"
! U1 setvar "device.allow_firmware_downloads" "no"
To confirm the command is set:
! U1 getvar "device.allow_firmware_downloads"
The printer responds with the current setting value: “yes” or “no”.
To reset the device to the default state:
! U1 setvar "device.allow_firmware_downloads" "yes"
Return to Command List
Note: If this setting is set to “no”, Printer OS downloads will not be possible. In this case the
allow-next-firmware-download operation can be used to allow the next firmware file to be
accepted. Please refer to the section labeled Printer OS Download Protection later in the guide
for details.
Considerations: The HTTP service runs on port 80 and provides support for the printer’s
internal web pages. It is important to note that any POST to URL capability is disabled when
this service is not enabled. The printer can still be managed by the Printer Profile Manager
Enterprise app or via direct commands when this is disabled.
Considerations: The HTTPS service runs on port 443 and provides support for the printer’s
internal web pages utilizing a secure connection.
Note: This command requires that a valid certificate is present on the printer.
The certificate and private key can be deployed to the device as a single file, or separate files. If
using a single file, the name of the file must be:
HTTPS_CERT.NRD
If using multiple files:
HTTPS_CERT.NRD – certificate file
HTTPS_KEY.NRD – private key file
Once TLS communication is verified and operational, it is a security best practice to disable
unencrypted forms of communicating with the printer over a network.
Certificate Size Requirements
In keeping with latest industry wide recommendations (NIST, 2016), the printer will only accept
certificates with a digest of SHA-256 or higher. For keys based on RSA or DSA the size must be
2048 bits or higher. For keys based on ECDSA the size must be 256 bits or higher. Any
certificates with digest or key sizes smaller than this will be rejected.
Note: Only Link-OS printers can use SFTP. For further information on FTP and SFTP Mirror,
refer to the Programming Guide.
Considerations: The LPD service uses port 515 and is a printing protocol typically used in
Unix/Linux systems and the Mac OS environment. This can be supported on a Windows
network with the addition of software features. Check which printing technology you are using
and disable the appropriate port(s).
Considerations: This SMTP service is used to receive printer jobs using the Simple Mail
Transfer Protocol (this can include, CPCL, EPL, ZPL). The print job is sent in the body of the
email. Please refer to the Zebra Printer Programming Guide for format.
Control Commands: The SMTP capability is controlled by the ip.smtp.enable command
To set the command:
! U1 setvar "ip.smtp.enable" "on"
! U1 setvar "ip.smtp.enable" "off"
To confirm the command is set:
! U1 getvar "ip.smtp.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.smtp.enable" "on"
Return to Command List
Note: Ensure that the other dependent settings are configured correctly when using this
capability
For further information on SMTP refer to the Programming Guide.
For example:
ip.smtp.server_addr
ip.smtp.domain
Considerations: The POP3 service can query a mailbox for incoming emails, which can
contain ZPL/CPL/EPL in the body of the email. The printer will execute the command
language.
Control Commands: The POP3 capability is controlled by the ip.pop3.enable command
To set the command:
! U1 setvar "ip.pop3.enable" "on"
! U1 setvar "ip.pop3.enable" "off"
To confirm the command is set:
! U1 getvar "ip.pop3.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.pop3.enable" "on"
Return to Command List
Note: Ensure that the other dependent settings are configured correctly when using this
capability
For further information on POP3 refer to the Programming Guide.
For example:
ip.pop3.server_addr
ip.pop3.poll
ip.pop3.username
ip.pop3.password
Considerations: The NTP command will enable or disable the Network Time Protocol
capability which allows the printer to synchronize with time servers. This may be important if
there are date or time fields printed on the label. Time and data can also be provided by the
host system.
Control Commands: The NTP capability is controlled by the ip.ntp.enable command
To set the command:
! U1 setvar "ip.ntp.enable" "on"
! U1 setvar "ip.ntp.enable" "off"
To confirm the command is set:
! U1 getvar "ip.ntp.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.ntp.enable" "off"
Return to Command List
Note: Ensure that the other dependent settings are configured correctly when using this
capability
For further information on NTP refer to the Programming Guide.
For example:
ip.ntp.servers
ip.ntp.log
Considerations: If NTP is unavailable, time can be set using this command. Setting time in
this way is useful for devices that exists across multiple time zones.
Control Commands: The Unix Epoch capability is controlled by the rtc.unix_timestamp
command
To set the command:
! U1 setvar "rtc.unix_timestamp" "1561492746" (06/25/2019 7:59PM (UTC))
Note: The printer time and date can also be set using
rtc.time
rtc.date
It is possible to interrogate the printer to see if a real time clock chip is installed.
rtc.exists
Considerations: If you utilize Bluetooth for connection to a mobile computer for printing, this
will need to be configured correctly.
Control Commands: The Bluetooth enable capability is controlled by the bluetooth.enable
command
To set the command:
! U1 setvar "bluetooth.enable" "on"
! U1 setvar "bluetooth.enable" "off"
To confirm the command is set:
! U1 getvar "bluetooth.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "bluetooth.enable" "on"
Return to Command List
Note: Please review changes to the default value of bluetooth.discoverable implemented in Link-
OS v6.
Considerations: The Bluetooth discoverable command will disable the Bluetooth connectivity
on the printer. This does not affect a previously paired device only the discovery and pairing of
a new device.
Control Commands: The Bluetooth discoverable capability is controlled by the
bluetooth.discoverable command
To set the command:
! U1 setvar "bluetooth.discoverable" "on"
! U1 setvar "bluetooth.discoverable" "off"
To confirm the command is set:
! U1 getvar "bluetooth.discoverable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "bluetooth.discoverable" "off"
Return to Command List
Note: The default value of this setting has changed as of Link-OS v6 and is now off by default to
improve security. Bluetooth Discovery and Pairing Mode can be activated by holding the FEED
button on the printer for 5 seconds. For further details please refer to the Link-OS v6 Release
notes.
Note: There are many other settings related to BT communication and these need to be
reviewed and configured accordingly.
Please review changes to the default value of bluetooth.discoverable implemented in Link-OS
v6.
For further information on Bluetooth refer to the Programming Guide.
For example:
bluetooth.discoverable
bluetooth.minimum_security_mode
bluetooth.allow_non_display_numeric_comparison
bluetooth.bonding
bluetooth.pin
Considerations: The USB host lockout command disables the USB host capability in a
printer that has support for it. USB devices connected to the printer will stop functioning when
this is disabled. This will include USB mirror if that is being used.
Control Commands: The USB host lock out capability is controlled by the usb.host.lock_out
command
To set the command:
! U1 setvar "usb.host.lock_out" "on"
! U1 setvar "usb.host.lock_out" "off"
To confirm the command is set:
! U1 getvar "usb.host.lock_out"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "usb.host.lock_out" "off"
Return to Command List
Considerations: The wired LAN enable command will disable or enable the internal wired
Ethernet connection. The primary use for this command is to disable a port that is unused,
where a different port is being used as the primary connection.
Control Commands: The wired LAN capability is controlled by the internal_wired.enable
command
To set the command:
! U1 setvar "internal_wired.enable" "on"
! U1 setvar "internal_wired.enable" "off"
To confirm the command is set:
! U1 getvar "internal_wired.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "internal_wired.enable" "on"
Return to Command List
Note: For Link-OS versions prior to v6, the default value for ESSID is “125”. This allowed device
administrators to create a network specifically for provisioning new devices quickly. If the device
ESSID is set to “” (null), the device will attempt to associate to any available Access Point,
regardless of what its ESSID value is.
ln Link-OS v6 and higher, the device will not automatically associate to any Access Point until a
valid ESSID value is set.
Considerations: When using the 802.1x authentication user must be aware of the movement
of data to the printer during setup. Best practices should be employed to ensure that
certificates and passphrases are protected at all time. Configuration should be done over a
local connection to prevent eavesdropping.
Control Commands:
To set the command:
! U1 setvar "wlan.8021x.enable" "on"
! U1 setvar "wlan.8021x.enable" "off"
! U1 setvar "wlan.8021x.enable" "wpa"
To confirm the command is set:
! U1 getvar "wlan.8021x.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "wlan.8021x.enable" "off"
Return to Command List
Note: There are many other settings related to 802.1x Authentication and these need to be
reviewed and configured accordingly.
For further information on 802.1x refer to the Programming Guide.
For example:
wlan.8021x.authentication
wlan.8021x.ttls_tunnel
wlan.8021x.peap.peap_username
wlan.8021x.peap.peap_password wlan.8021x.peap.privkey_password
wlan.8021x.peap.validate_server_certificate
wlan.8021x.peap.anonymous_identity
wlan.8021x.eap.username
wlan.8021x.eap.password
wlan.8021x.eap.privkey_password
Considerations: The WLAN RTS_CTS feature when enabled will put the WLAN radio in
RTS/CTS protection mode. If this is not enabled the radio will default to CTS-to-Self mode.
The mode that you run in will be dependent on your specific wireless LAN configuration and
the devices that connect to it.
Control Commands: The WLAN RTS_CTS capability is controlled by the wlan.rts_cts_enable
command
To set the command:
! U1 setvar "wlan.rts_cts_enabled" "on"
! U1 setvar "wlan.rts_cts_enabled" "off"
To confirm the command is set:
! U1 getvar "wlan.rts_cts_enabled"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "wlan.rts_cts_enabled" "off"
Return to Command List
Note: This command functions on the QLn and ZQ500 series printers.
Considerations: The whitelisting capability is to ensure that only authorized hosts can
connect to the printer. The parameters that you set are the IP addresses that are permitted to
connect and can be single IP address or ranges. The maximum string length allowed is 256
bytes.
Control Commands: The whitelist capability is controlled by the ip.firewall.whitelist_in
command.
To set the command:
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20"
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20, 192.168.100.21"
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20-192.168.1.100"
To confirm the command is set:
! U1 getvar "ip.firewall.whitelist_in"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.firewall.whitelist_in" ""
Return to Command List
Note: This command allows up to 256 characters that define what IP’s or ranges of IP’s can
connect to the printer. If the IP address is not listed the connection will be refused. To reset this
list, you will need to connect to a local port and send this command if the IP you are trying to
connect with is not in the allowed range.
Examples:
Single IP address
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20"
Multiple IP addresses
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20,192.168.1.21"
IP address ranges
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20-192.168.1.40"
IP ranges and Single/Multiple IPs
! U1 setvar "ip.firewall.whitelist_in" "192.168.1.20-192.168.1.40,
192.168.1.50, 192.168.1.75"
Note: Port numbers cannot be the same as any other SGD’s in the group below. If you try to set
the value to something that is in use it will be ignored. Setting the value to “0” disables the port
and can be used to clear the current value, before it is set to a new value. However, remember
setting the port to “0” will disable the port.
For further information on ports, refer to the Programming Guide.
For example:
ip.port
ip.port_alternate
ip.port_json_config
ip.port_single_conn
Note: Mobile printers use ip.port 6101 and ip.port_alternate is 9100.
Everything else uses ip.port 9100 and ip.port_alternate 6101.
Considerations: Secondary raw printing port that allows multiple connections to the printer.
These are served on and first come first served basis and allow up to x connection before
additional connections are refused. This is primarily used for CPCL based printers and there
to support legacy application. If ZPL is being used this port could be disabled without any
impact. If this port is not being used, setting the value to 0 will disable the port.
Control Commands: The IP Port alternative capability is controlled by the ip.port_alternate
command
To set the command:
! U1 setvar "ip.port_alternate" "6101"
! U1 setvar "ip.port_alternate" "0" (Disables port)
To confirm the command is set:
! U1 getvar "ip.port_alternate"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.port_alternate" "6101" (All printers except QLn)
! U1 setvar "ip.port_alternate" "9100" (QLn)
Return to Command List
Note: Port numbers cannot be the same as any other SGD’s in the group below. If you try to set
the value to something that is in use it, will be ignored. Setting the value to “0” disables the port
and can be used to clear the current value, before it is set to a new value. However, remember
setting the port to “0” will disable the port.
For further information on ports refer to the Programming Guide.
For example:
ip.port
ip.port_alternate
ip.port_json_config
ip.port_single_conn
Note: Mobile printers use ip.port 6101 and ip.port_alternate is 9100.
Everything else uses ip.port 9100 and ip.port_alternate 6101
Considerations: This port is used to carry out printer configuration utilizing the JSON format
and generally used by Zebra Applications and Utilities (PPME included), which would include
3rd party applications built using our SDKs. If this port is disabled, printers can still be
recognized by PPME but communication will be slower.
Control Commands: The JSON port capability is controlled by the ip.port_json_config
command
To set the command:
! U1 setvar "ip.port_json_config" "9200"
! U1 setvar "ip.port_json_config" "0" (Disables port)
To confirm the command is set:
! U1 getvar "ip.port_json_config"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.port_json_config" "9200"
Return to Command List
Note: Port numbers cannot be the same as any other SGD’s in the group below. If you try to set
the value to something that is in use it will be ignored. Setting the value to “0” disables the port
and can be used to clear the current value, before it is set to a new value. However, remember
setting the port to “0” will disable the port.
For further information on ports refer to the Programming Guide.
For example:
ip.port
ip.port_alternate
ip.port_json_config
ip.port_single_conn
Note: Mobile printers use ip.port 6101 and ip.port_alternate is 9100.
Everything else uses ip.port 9100 and ip.port_alternate 6101.
Considerations: This port is designed to work in the same way as ip.port but it will only allow
a single connection to the printer at a time. Any other connection attempts while this port is in
use will be rejected.
Control Commands: The IP port single connection capability is controlled by the
ip.port_single_conn command
To set the command:
! U1 setvar "ip.port_single_conn" "9300"
! U1 setvar "ip.port_single_conn" "0" (Disables port)
To confirm the command is set:
! U1 getvar "ip.port_single_conn"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.port_single_conn" "9300"
Return to Command List
Note: Port numbers cannot be the same as any other SGD’s in the group below. If you try to set
the value to something that is in use it will be ignored. Setting the value to “0” disables the port
and can be used to clear the current value, before it is set to a new value. However, remember
setting the port to “0” will disable the port.
For further information on ports refer to the Programming Guide.
For example:
ip.port
ip.port_alternate
ip.port_json_config
ip.port_single_conn
ip.port_single_conn_idle_timeout
Note: Mobile printers use ip.port is 6101 and ip.port_alternate is 9100.
Everything else uses ip.port 9100 and ip.port_alternate 6101
Note: This command requires that ip.tls.enable is on and that a valid certificate is present on
the printer.
The certificate and private key can be deployed to the device as a single file, or separate files. If
using a single file, the name of the file must be:
TLSRAW_CERT.NRD
If using multiple files:
TLSRAW_CERT.NRD – certificate file
TLSRAW_KEY.NRD – private key file
Once TLS communication is verified and operational, it is a security best practice to disable
unencrypted forms of communicating with the printer over a network.
Certificate Size Requirements
In keeping with latest industry wide recommendations (NIST, 2016), the printer will only accept
certificates with a digest of SHA-256 or higher. For keys based on RSA or DSA the size must be
2048 bits or higher. For keys based on ECDSA the size must be 256 bits or higher. Any
certificates with digest or key sizes smaller than this will be rejected.
Considerations: This port is used to carry out printer configuration utilizing the JSON format
and when utilizing the TLS connection.
Control Commands: The TLS connection JSON config port capability is controlled by the
ip.tls.port_json_config command
To set the command:
! U1 setvar "ip.tls.port_json_config" "9243"
! U1 setvar "ip.tls.port_json_config" "0" (Disables port)
To confirm the command is set:
! U1 getvar "ip.tls.port_json_config"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.tls.port_json_config" "9243"
Return to Command List
Note: The value for TLS JSON Port may not be the same as another service already in use. If
you try to set the value to something that is in use, it will be ignored. Setting the value to “0”
effectively clears the current value and disables the port.
For further information on ports, refer to the Programming Guide.
For example:
ip.tls.port
ip.tls.port_json_config
Considerations: This is for securing communications to the printer over wired and wireless
Ethernet and depends on preloaded certificates on the printer. Ensure that this capability is
working before disabling any non-TLS connections.
Control Commands: The TLS Enable command is controlled by the ip.tls.enable command
To set the command:
! U1 setvar "ip.tls.enable" "on"
To confirm the command is set:
! U1 getvar "ip.tls.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.tls.enable" "on"
Return to Command List
Note: This command enables TLS communication with the printer and requires a valid certificate
is present on the printer.
Once TLS communication is verified and operational, it is a security best practice to disable
unencrypted forms of communicating with the printer over a network.
Note: Many apps use the weblink connection to connect the printer to a server-based app.
These include Printer Profile Manager Enterprise, AirWatch Connector, Soti Connector. Take
care when turning this feature off if you are using one of those programs.
Considerations: This feature can connect a networked Link-OS printer to Zebra’s Asset
Visibility Service (AVS). The Asset Visibility Service is a Zebra-managed service offering that
provides Zebra partners and customers ‘at-a-glance’ visibility to analytical insights about their
device health, utilization, and performance.
Control Commands: The Asset Visibility capability is controlled by the
weblink.zebra_connector.enable command
To set the command:
! U1 setvar "weblink.zebra_connector.enable" "on"
! U1 setvar "weblink.zebra_connector.enable" "off"
To confirm the command is set:
! U1 getvar "weblink.zebra_connector.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "weblink.zebra_connector.enable" "on"
Return to Command List
Considerations: The capture channel command will collect user data from the specified port
and store it in the capture.channel1.data.raw. To disable the capture channel the port should
be set to “off”
Control Commands: The capture channel capability is controlled by the
capture.channel1.port command
To set the command:
! U1 setvar "capture.channel1.port" "serial"
! U1 setvar "capture.channel1.port" "usb"
! U1 setvar "capture.channel1.port" "bt"
! U1 setvar "capture.channel1.port" "parallel"
! U1 setvar "capture.channel1.port" "off"
To confirm the command is set:
! U1 getvar "capture.channel1.port"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "capture.channel1.port" "off"
Return to Command List
Considerations: The XML enable command is primarily used to allow the variable data for a
stored format to be passed to the printer in an XML format. This is often used in the Oracle
environment and if disabled will stop the printer from printing. The XML Data can be in two
distinct formats, one for Oracle and one for SAP.
Control Commands: The XML capability is controlled by the device.xml.enable command
To set the command:
! U1 setvar "device.xml.enable" "on"
! U1 setvar "device.xml.enable" "off"
To confirm the command is set:
! U1 getvar "device.xml.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "device.xml.enable" "on"
Return to Command List
Considerations: The USB mirror capability is only supported by printers that have USB host
capability.
Control Commands: The USB mirror enabled capability is controlled by the
usb.mirror.enable command
To set the command:
! U1 setvar "usb.mirror.enable" "on"
! U1 setvar "usb.mirror.enable" "off"
To confirm the command is set:
! U1 getvar "usb.mirror.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "usb.mirror.enable" "on"
Return to Command List
Note: This command only works on printers with USB Host capabilities.
Considerations: The syslog enable command turns on the logging capability which is turned
off by default. There are other commands that configure the content of the file and max file
size etc.
Control Commands: The syslog capability is controlled by the device.syslog.enable
command
To set the command:
! U1 setvar "device.syslog.enable" "on"
! U1 setvar "device.syslog.enable" "off"
To confirm the command is set:
! U1 getvar "device.syslog.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "device.syslog.enable" "off"
Return to Command List
Note: For further information on the syslog command refer to the Programming Guide.
For example:
device.syslog.clear_log
device.syslog.configuration
device.syslog.entries
device.syslog.log_max_file_size
device.syslog.save_local_file
Considerations: The ZBI enable command allows an administrator to enable/disable the ZBI
Interpreter in the printer. A license is still required to be able to run ZBI scripts on a printer,
however this is a global command to turn off the ZBI capability whether a license is installed
or not. If you are not utilizing a ZBI script it is recommended that this is disabled.
Control Commands: The ZBI enable capability is controlled by the zbi.enable command
To set the command:
! U1 setvar "zbi.enable" "on"
! U1 setvar "zbi.enable" "off"
To confirm the command is set:
! U1 getvar "zbi.enable"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "zbi.enable" "on"
Return to Command List
Considerations: The command allows the changing of the default password for control panel
switches and web page access. The default password is well known and should be changed.
It should also be noted that defaulting the password is trivial.
Control Commands: The Define Password capability is controlled by the ^KP command
To set the command:
^XA
^KPxxxx – where xxxx is any four-digit numeric sequence.
^JUS
^XZ
To confirm the command is set:
Use the web page and validate that the password changed.
To reset the device to the default state:
^XA
^JUF
^XZ
Return to Command List
Note: The default password is “1234”. Since it is documented and well-known default, it is
recommended to change the password to something other than the default. It is also a good idea
to change the Web Page password as it has the same default value. (See
ip.http.admin_password command)
Considerations: The command allows the changing of the default password for the web page
access. The default password is well known and should be changed. It should also be noted
that defaulting the password is trivial.
Control Commands: The password capability is controlled by the ip.http.admin_password
command
To set the command:
! U1 setvar "ip.http.admin_password" "A%29921Hgg"
To confirm the command is set:
! U1 getvar "ip.http.admin_password"
The printer will only respond with a single “*” irrespective of the length of the password.
To reset the device to the default state:
! U1 setvar "ip.http.admin_name" "1234"
Return to Command List
Note: The default password is 1234. Since it is documented and well-known default, it is
recommended to change the password to something other than the default. It is also a good idea
to change the value of the Front Panel passcode as the default is the same. (see ^KP command)
Note: Regarding the "ip.http.admin_password" and "ip.http.admin_name" commands, the
minimum length = 0, the maximum length = 25, and valid characters include any character that
can be passed as a string.
Considerations: The command allows the changing of the default username for web page
access.
Control Commands: The username capability is controlled by the ip.http.admin_name
command
To set the command:
! U1 setvar "ip.http.admin_name" "Mainuser"
To confirm the command is set:
! U1 getvar "ip.http.admin_name"
The printer responds with the current setting value, or “?” if not supported.
To reset the device to the default state:
! U1 setvar "ip.http.admin_name" "admin"
Return to Command List
Note: The default username is “admin” and it can be changed, however there can only be one
username.
Note: Regarding the "ip.http.admin_password" and "ip.http.admin_name" commands, the
minimum length = 0, the maximum length = 25, and valid characters include any character that
can be passed as a string.
In the example above there is a general protect command followed by an authentication section,
operation type, and setup section. The password is initially an empty string because it has not
been configured yet. Link-OS v6 supports the basic authentication type and a single admin.
To set the password, it is necessary to issue a setup operation command. Inside the setup
section it is necessary to specify a password of at least 14 characters. Again, only the admin
user is supported. As the password is sensitive information, it is highly recommended to
configure this over a secure channel or segregated provisioning network.
If the command is successful, the response status code will be zero:
{}{"protect":{"status":0,"operation":"setup"}}
If the command is not successful, the response status code will be non-zero. Please see the
JSON Commands Response Codes table for the meaning of non-zero response codes..
To verify if the printer is in protected mode or not check the return of the SGD command
"device.protected_mode". If the printer is not in Protected Mode the command will return "off”. If
the printer is in Protected Mode, the command will return "on".
This will return all the settings the printer is capable of configuring and also includes an item for
groups. If the groups value is set to a value of "1" it is protected. If it is "0" it is not protected and
can be modified normally. Commands that are linked to other commands are NOT shown in the
allconfig output. Please see Protected SGD Commands for more details.
To disable Protected Mode, re-enter the current password in the authentication section, do a
setup operation, and in the setup section, use a password of empty string. Protected mode can
also be disabled with a Decommission operation as described below.
Recommendation: Enable protected mode on the printer to prevent unwanted configuration
changes. Any attempts to send unauthorized settings changes from any app or source are
rejected when the printer is in Protected Mode.
If the command is successful, the printer will respond with the following response:
{} {"protect":{"status":0,"operation":"allow-next-firmware-download"}}
If the command is not successful it will respond with a non-zero “status” below are the possible
values with their respective meaning.
Recommendation: Utilize the protected mode command to temporarily enable Printer OS
downloads when an upgrade is desired
Security
The printer currently supports peap, eap-tls, and eap-ttls security. The choice of printer
authentication mode should be driven by what is already in place on your network. In general,
eap-tls provides a more robust mutual authentication and requires client certificates. If starting
from scratch and with a robust PKI (public key infrastructure) already in place, eap-tls provides
a more secure option, but may be more challenging to deploy. You can select your security
method by using the following SGD command:
"internal_wired.8021x.security"
Username
The username is something that is needed for connection to the network and can be configured
with the following SGD:
"internal_wired.8021x.username"
Certificate Files
The certificate filename prefix is WIRED
WIRED_CERT.NRD – certificate file
WIRED_KEY.NRD – private key file (optionally encrypted with private key password)
WIRED_CA.NRD – certificate authority file for the certificate received from the RADIUS server.
This is used by the printer to verify the server’s identity.
The printer supports PEM, DER, and P12 certificate formats.
PKI Recommendations
PKI, or public key infrastructure, refers to the organization, creation, maintenance, and disposal
of certificates in use for your devices. This section will not exhaustively detail all the best
practices for PKI; it will touch on key points to consider for using certificates on your printer.
Files
The certificate and private key can be deployed to the device as a single file, or separate files. If
using a single file, the name of the file must be:
XXXX_CERT.NRD
If using multiple files:
XXXX_CERT.NRD – certificate
XXXX_KEY.NRD – private key
Certificate Life
The longer a certificate is in use, the higher chance it has of being compromised. It is therefore
recommended to use the shortest valid certificate life as feasible with the printer in your network.
A one-year expiration is the generally accepted recommendation for devices.
Certificate Creation
Because certificates rely on sufficiently random numbers, you will want to ensure the system
entropy is sufficiently high for the creation of a new certificate and key. The printer will ensure
this if you are using the “generate csr” functionality. On Linux-based systems, this can be
achieved by:
cat/proc/sys/kernel/random/entropy_avail
You will need to create certificates that contain the host name that the printer will have on the
network as its common name in the certificate. As an example, here are some OpenSSL
commands to achieve this:
RSA
openssl genrsa 2048 > XXXX_KEY.NRD
openssl req -new -x509 -nodes -sha256 -days 365 -key XXXX_KEY.NRD >
XXXX_CERT.NRD
You must fill out a valid Country, State, City, Company, and Common name.
ECC
openssl ecparam -out ec_params.pem -name prime256v1
openssl req -new -x509 -nodes -sha256 -days 365 -newkey ec:ec_params.pem -
keyout XXXX_KEY.NRD > XXXX_CERT.NRD
Note: The command must be followed by a carriage return or a space character. If you plan on
using FTP for printing purposes, be sure to reset this feature to "on" after storing the certificate
files.
Connect to the printer via FTP and download the certificates to the printer.
2. ZPL
• Issuing one of the following commands allows you to confirm that the certificates
have been stored on the file system. This can be done utilizing a terminal
program or Zebra Setup Utilities.
^XA^WDE:*.nrd^XZ
Note: The above command will print a label listing all the files on the E: drive that have the ″.nrd
″ extension.
^XA^HWE:*.NRD^XZ
Note: The above command will transmit a listing back to the host with all the files on the E: drive
that have the ″.nrd″ extension.
You will be able to confirm that the certificate files are on the file system. However, you will only
be able to see the files; you not be able to download them or view the contents.
{}{"file.delete":"E:CERTNAME.NRD"}
2. ZPL
a. Issuing the following command allows you to delete a certificate file stored on the
file system. This can be done utilizing a terminal program or Zebra Setup Utilities.
^XA^IDE:CERTNAME.NRD^XZ
or
^XA^IDE:*.NRD^XZ
This will delete all files with the .nrd extension.
b. Issuing the following SGD command allows you to delete the specified file stored
on the file system.
! U1 do "file.delete" "value"
Automation
It is recommended that you automate the process of renewing WLAN certificates. Printer Profile
Manager Enterprise (PPME) version 3.1 or later can automate this process for you. Outlined
below is the process PPME uses in certificate renewal process:
1. Poll the printer for certificate expiration date and time, on an interval dependent on your
certificate lifetime
2. Determine if the WLAN certificate should be renewed or not
3. If the certificate should be renewed, issue a generate_csr command to the printer
4. Once ready, retrieve the CSR from the printer
5. Sign the CSR with a CA
6. Use the "place_cert command" to put that signed certificate back on the printer
7. Plan a time to reset the printer so that the new certificate can be used
If the printer already contains a CSR it can be reused by the CA and signed again without the
printer needing to recreate the CSR. This assumes the private key has not been compromised.
Generate CSR
A multipart form (MPF) command format is used to pass in parameters required for the printer to
generate a new public/private key and a CSR file. The CSR file is in PEM format. An alert is
generated and sent over the weblink main connection or configured channel(s) when the CSR is
ready. The CSR file can then be removed from the printer and sent to your signing authority. It is
then returned to the printer using the " place_cert" MPF command.
Content-Disposition Required Parameters: action=“generate_csr” filename=”<value>”
<value> is the name of the service for which you want a CSR to be generated. It is case
sensitive. Other values will cause an error response. Successful generation will cause a CSR to
be generated on the printer named CSR_<SERVICE_NAME>_CERT.CSR. You can retrieve this
file from the printer via MPF "retrieve" command or other means.
The Label printer service currently supported is WLAN. The file will be placed on E drive.
Where:
"CN" = common name for the certificate
"key" requires "algo" and either "size" or "curve" field
"algo" is the algorithm field. Supported values are “rsa” and “ecdsa”
"size" is the key size. “rsa” supports 2048, 3096, and 4098. For “ecdsa” if “curve” is missing, it
can be: 224 (secp224r1), 256 (secp256r1), 384 (secp384r1) or 521 (secp521r1) to select the
corresponding curve.
"curve" is the name of the curve. Use “file.cert.curves” to get a list of supported curves
"names" main contain fields put into the CSR request and may include
"C" Country
"L" Locality
"O" Organization
"ST" State
"OU" Organizational Unit
"emailAddress" Email Address
"subjectAltName" Subject Alternative Name
"challengePassword" Challenge Password use for some CAs
"filename" filename (minus extension) to use for the CSR file generated. Label printers ignore
this field.
"message_digest" can be: sha256, sha384 or sha512
CSR_ERROR_INVALID_SERVICE_NAME = 10,
CSR_ERROR_INVALID_MPF_CRC = 11,
CSR_ERROR_INVALID_MPF_FILE_SIZE = 12,
CSR_ERROR_GEN_TOO_MANY_REQUESTS = 50,
CSR_ERROR_GEN_INVALID_JSON = 51,
CSR_ERROR_GEN_INVALID_CN = 53,
CSR_ERROR_GEN_INVALID_KEY_SIZE = 54,
CSR_ERROR_GEN_INVALID_KEY_CURVE = 55,
CSR_ERROR_GEN_INVALID_KEY_ALGORITHM = 56,
CSR_ERROR_GEN_INVALID_L_VALUE = 57,
CSR_ERROR_GEN_INVALID_ST_VALUE = 58,
CSR_ERROR_GEN_INVALID_C_VALUE = 59,
CSR_ERROR_GEN_INVALID_O_VALUE = 60,
CSR_ERROR_GEN_INVALID_OU_VALUE = 61,
CSR_ERROR_GEN_INVALID_EMAIL_VALUE = 62,
CSR_ERROR_GEN_INVALID_SUBJECT_ALT_NAME_VALUE = 63,
CSR_ERROR_GEN_INVALID_DIGEST = 64,
CSR_ERROR_GEN_INVALID_CHALLENGE_PASSWORD= 65,
Where:
unique_id Printer Serial Number, as it appears on printer label
time_stamp Date/Time when the alert is generated
type_id "ERROR" if CSR generation failed or "ALERT" if success
condition_id Always "CSR AVAILABLE ", identifies the alert
condition_state Always "SET" to assert the state
type "ERROR CONDITION" if CSR generation failed or "ALERT" if success
condition Always "CSR AVAILABLE "
filename The filename of the generated CSR (extension always .csr)
condition_code error code, listed above as CsrServiceErrors_t
The place_cert command always returns a response. It will return status=”success” if it has
received a valid certificate, found the matching private key, and place the files into service. It will
return status=”error” error_code=<number> if it has encountered an error in the request.
[{"action”=”place_cert”,filename":"<filename>",”status”=”success”,"size":28,"crc32":1848954663},
{""action”=”place_cert”,filename":"<filename>",”status”=”error”,”error_code”:42,"size":47,"crc32":
1564220483}]
Certificate Expiration
In general certificates should have a minimal valid lifespan such that if ownership of the
certificate is lost and undetected, it will only remain valid for a short period of time in the event it
has not been revoked already. The printer has the capability of returning the expiration of the
certificates it contains with an SGD command file.cert.expiration. This command will list all of
the network services that use certificates and any corresponding expiration information if a
certificate is currently being used for that service. Here is an example of a printer that only
contains the built-in certificates:
{"file.cert.expiration":[{"service":"SHA1","file":"SHA1_DEVICE","expires_on":
"2037-12-07 15:23:06"},
{"service":"SHA2","file":"SHA2_DEVICE","expires_on":"2028-11-11 09:56:05"},
{"service":"WLAN","file":null,"expires_on":null},
{"service":"WIRED","file":null,"expires_on":null},
{"service":"WEBLINK1","file":null,"expires_on":null},
{"service":"WEBLINK2","file":null,"expires_on":null},
{"service":"TLSRAW","file":null,"expires_on":null},
{"service":"HTTPS","file":null,"expires_on":null}]}
Overview
Transports
Bluetooth functionality is divided into two supported transports: Classic (also known as BR/EDR)
and Low Energy (also known as BTLE or LE). Each transport has slightly different security
features and considerations; this document will address them separately.
Some Bluetooth-capable Zebra printers support only Bluetooth Classic, some support only
Bluetooth LE, and some support both.
Pairing and Encryption
Pairing in Bluetooth refers to a process in which you can associate two Bluetooth devices with a
shared, private encryption key. The storage of these encryption keys for later use is referred to
as bonding. It is important to note that once two Bluetooth devices are bonded, they are
considered trusted. That is, future connections between those two devices will resume the
encrypted session silently, and the remote device will retain access to sensitive profiles. This
makes it crucial that two untrusted devices are never paired.
Authentication
Establishing an encrypted connection between two Bluetooth devices is not the only
consideration for secure communications; it is often important to establish an authenticated
connection in addition to an encrypted connection. An encrypted connection is considered
authenticated if it can be proven that the connected devices exchanged encryption keys without
a Man-in-the-Middle (MITM) being able to intercept the keys. Bluetooth uses distinct security
procedures depending on whether devices can provide authenticated connections; these will be
discussed below for both Classic and LE.
NOTE: If the user wants to completely disable Bluetooth connectivity, including discovery and
pairing, they can disable the Bluetooth radio entirely.
Much like Classic, LE supports a “Just Works” mode (no MITM protection) for devices without a
display, and a “passkey” mode that is similar to “Numeric Comparison” on Classic.
LE versions 4.2+ also support a “Numeric Comparison” pairing mode; this is supported on
printers with 4.2-compatible Bluetooth radios, and firmware versions Link-OS 5 and newer.
Passkey and Numeric Comparison pairing modes provide MITM protection.
RECOMMENDATION: Force pairing requiring MITM support by setting
"bluetooth.minimum_security_mode" to “4”. If the printer cannot support display of the
passkey, set it to “2”.
HTTPS Port
Once the device certificates are loaded and the printer has rebooted, you can begin using
HTTPS. The port for HTTPS is, by default 443, and can be configured using the following SGD
command:
"ip.https.port"
This assumes that HTTPS is enabled with the following SGD command:
"ip.https.enable"
Certificate Files
Each connection uses its own certificate files: “WEBLINK1” is the filename prefix for connection
1 files, “WEBLINK2” is the filename prefix for connection 2 files. The following filenames shall be
used to store the certificates:
WEBLINKX_CERT.NRD – device printer certificate
WEBLINKX_KEY.NRD – device printer private key (cannot be encrypted)
WEBLINKX_CA.NRD – server certificate authority chain
WEBLINKX_CRL.NRD – certificate revocation list
Where “WEBLINKX” is either “WEBLINK1” or “WEBLINK2”
Retry Interval
To prevent flooding a weblink server with connections, it is recommended to configure a random
retry interval. This allows for all the devices connecting to the weblink server to attempt
reconnection at different times after a connection loss event. The SGD to configure this is:
"weblink.ip.connX.retry_interval_random_max"
Where connX is the connection 1 or 2 for weblink
If this is set to a non-zero value, the printer will wait a random number of seconds between 1
and the value specified when attempting to reconnect. If the value is zero, then another SGD will
be used to configure the number of seconds it will wait before attempting reconnection. The
SGD to configure this is:
"weblink.ip.connX.retry_interval"
Where connX is the connection 1 or 2 for weblink
ECC
ecparam -out ec_params.pem -name prime256v1
Note: zserver.abccompanyinc.com = full DNS name of the server. The DNS name must
match the DNS name supplied to the printer as the location URL.
Note: These commands generate the key and is part of the security for the server
communications. DO NOT give this information out to anyone.
%TOMCAT_INSTALL_LOCATION%\conf
12. To use the new key/cert, modify the ssl connector. Edit the XML document to include the
following text within the <Service> XML block.
<Service name=”Catalina”>
P1099957-04EN PrintSecure Printer Admin. Guide Page 79 of 90
…
<Connector SSLEnabled="true" acceptorThreadCount="5"
clientAuth="want" keyAlias="tomcat"
keystoreFile="conf/zserver.abccompanyinc.com.p12"
keystorePass="YourPasskey" keystoreType="pkcs12"
maxConnections="-1" maxThreads="2500" port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https" secure="true" sessionTimeout="0"
socket.soKeepAlive="true" sslProtocol="TLS"/>
…
</Service>
Where zserver.abccompanyinc.com is the full DNS name of the server.
Where YourPasskey = passkey from Step 9.
13. Run the following command from the zebra_certs directory:
%> keytool -importcert -file ZebraCAChain.cer –keystore
"%JRE_HOME%\lib\security\cacerts" -alias "ZebraCAChain"
Note: The default password for the Java cacert keystore is changeit.
Run this command for the same JRE in use by the Tomcat instance being used.
If NTP is unavailable, manually set the printer time, using the following SGD commands:
rtc.time
rtc.date
Alternatively, you can also set the time using the standard Unix Epoch (number of seconds since
January 1, 1970). Setting time in this manner is useful for devices that exist across multiple time
zones. This can be configured using the following SGD command:
rtc.unix_timestamp
Format
Example 1: Single multipart store file request
{}--<boundary characters><CR><LF>
Content-Disposition: filename="<drive>:<\filename.extension>";
action="store"<CR><LF>
Content-Type: application/octet-stream<CR><LF>
Content-Transfer-Encoding: binary<CR><LF>
<CR><LF>
<Body Data><CR><LF>
--<boundary characters>--
Example 2: Multiple multipart store file requests (include as many requests as you want before
the final boundary)
{}--<boundary characters><CR><LF>
Content-Disposition: filename="<drive>:<\filename.extension>";
action="store"<CR><LF>
Content-Type: application/octet-stream<CR><LF>
Content-Transfer-Encoding: binary<CR><LF>
<CR><LF>
<Body Data><CR><LF>
--<boundary characters><CR><LF>
Content-Disposition: filename="<drive>:<\filename.extension>";
action="store"<CR><LF>
Content-Type: application/octet-stream<CR><LF>
Content-Transfer-Encoding: binary<CR><LF>
<CR><LF>
<Body Data><CR><LF>
--<boundary characters>--
Where:
{} = Zebra defined starting characters used to signal the JSON parsing request
--<boundary characters> = must start with -- and must contain no control characters (less
than 0x20) until it ends with an end of line which is <CR><LF>. This is a group of characters that
the exact sequence is not contained in the rest of the request. The boundary must be no more
than 72 character which includes the --.
<CR><LF> = each line ends with a carriage return and line feed characters (0x0A 0x0D)
<Body Data> = any amount of data of any characters except for <CR><LF>--<boundary
character> sequence. It is terminated by <CR><LF>--<boundary character>.
<CR><LF>--<boundary character> = Terminates a multipart request. If you have another
request you may start with the next headers immediately, no additional boundary needed. When
Note: the default action is "store" therefore the semicolon before it and the entire action="store"
can be omitted when storing a file.
{}{
"protect":{
"authentication":{
"username":"admin",
"password":"",
"type":"basic"
},
"operation":"setup",
"setup":{
"username":"admin",
"password":"Ant1%oTdq$2P9f"
}
}
}
{}{
"protect":{
"authentication":{
"username":"admin",
"password":"Ant1%oTdq$2P9f",
"type":"basic"
},
"operation":"setup",
"setup":{
"username":"admin",
"password":""
}
}
}
Recommendation: Only issue a flash wipe if the printer will be resold, recycled, or reused by
another group that should not have access to the printer data. This may include proprietary
fonts, formats, files, or network configuration. A flash wipe does take considerable time, which
will vary in length, based on printer model.
wlan.user_channel_list
wlan.username (Linked to wlan.8021x.eap.username, wlan.8021x.peap.anonymous_identity,
wlan.leap_username)
wlan.wpa.authentication (see wlan.security linked command)
wlan.wpa.enable (see wlan.security linked command)
wlan.wpa.groupkey_ciphersuite
wlan.wpa.pairwise_ciphersuite
wlan.wpa.psk
wlan.wpa.timecheck
wlan.wpa.wpa_version
zbi.enable