WS1 ENS2 Doc
WS1 ENS2 Doc
2 (ENS2)
VMware Workspace ONE UEM
Email Notification Service 2 (ENS2)
You can find the most up-to-date technical documentation on the VMware website at:
https://docs.vmware.com/
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
©
Copyright 2023 VMware, Inc. All rights reserved. Copyright and trademark information.
VMware, Inc. 2
Contents
10 Troubleshooting ENS 56
12 Appendix 115
VMware, Inc. 3
What is Email Notification
Service? 1
Workspace ONE UEM powered by AirWatch Email Notification Service (ENS2) provides new
email notifications for VMware Workspace ONE Boxer on both iOS and Android. The service
works by monitoring the Exchange or Office365 back end for email events and sending updates
to the end user devices through Apple or Google’s push notification services. This documentation
provides the information required to install and configure the ENS2 as a cloud-hosted or on-
premises service.
The Workspace ONE Boxer provides notifications about your emails by running in the
background. Due to platform limitations, Boxer can only run in the background for a limited time.
Email Notification Service (ENS2) provides a solution to deliver notifications to the user's device
when Boxer is not running.
ENS2 supports notifications that include the email subject and a badge icon (iOS only) to notify
the number of unread emails in the Inbox on the server. However, for Android, ENS2 does not
support notifying the number of unread emails in the Inbox on the server.
You can configure ENS2 with the Secure Email Gateway (SEG) V2 to secure your organization's
email infrastructure. For more information about SEG, see the Workspace ONE UEM Secure Email
Gateway Guide (SEG) V2 guide.
Note To align with the rest of the Workspace ONE suite, the ENS version numbering is changed
to the YY.MM (Year, Month) format starting with the 21.04 release.
ENS2 Architecture
This section provides information about the architecture design and functionality of ENS2.
VMware, Inc. 4
Email Notification Service 2 (ENS2)
1 Public-Key Request - The device requests a public key to encrypt the account credentials.
2 Subscribe - The device sends an encrypted payload with credentials and all the necessary
information to subscribe and get email notifications.
3 Push Subscription - ENS authenticates with EWS and subscribes for push notifications using
a webhook URL. The webhook URL contains the encrypted credentials. The credentials are
now kept encrypted on the Exchange server.
n Exchange sends notification about the mailbox changes to the provided webhook URL.
n ENS extracts and decrypts the credentials and prepares a call to fetch emails.
5 Email Fetch - ENS performs a fetch for the email details (subject and sender) required for
providing a notification.
6 Push Notification Payload - ENS pushes email details for delivery to all devices belonging to
the user through SNS (ENS cloud deployments) or CNS (ENS on-premises deployments).
7 SNS or CNS sends notifications to iOS or Android devices. For iOS devices, SNS or CNS uses
Apple Push Notification Service (APNS), and for android devices, SNS or CNS uses Firebase
Cloud Messaging (FCM).
VMware, Inc. 5
ENS2 Requirements and
Prerequisites 2
This section explains the requirements and prerequisites for using the ENS2 with Workspace ONE
UEM.
n Email Server - Exchange 2010 SP3, Exchange 2013 SP1, Exchange 2016, Exchange 2019 (for
on-premises ENS2 version 1.7 and later), or Office 365.
n For ENS2 on-premises with ENS2 version 1.8 and later, Office 365 is supported.
2 (Intel processor) 16 GB (minimum) Approx. 0.0477 MB per user to estimate the DB storage Per 100,000 users.
size.
VMware, Inc. 6
Email Notification Service 2 (ENS2)
Software Requirements
Requirement (On-Premises) Notes
Windows Server 2016, Windows The servers must be externally accessible through https (SSL Cert) and with a
Server 2019, or Windows Server Fully Qualified Domain Name (FQDN)
2022
SQL Server 2016, 2017, and 2019 The db_owner role and public role must be assigned to the SQL server
(Database Server) user that is used for running the application. The database option must
be selected for external database and you must set the collation to
SQL_Latin1_General_CP1_Cl_AS. A dedicated SQL instance for ENS is
recommended. The steps to create an ENS database and the Workspace ONE
UEM database are the same. For more information on creating the Workspace
ONE UEM database, see Create the Workspace ONE UEM Database topic in the
Installing Workspace ONE UEM guide.
Note A shared SQL instance can only be used for demonstration purpose,
where a small set of users can use the ENS.
Basic Authentication for the OAuth and Certificate-Based Authentication (CBA) is supported for Exchange
Exchange environment Web Services
CNS Certificate
Basic Authentication for the OAuth and Certificate-Based Authentication (CBA) is supported for Exchange
Exchange environment Web Services
Networking Requirements
Table 2-3. Network Ports
VMware, Inc. 7
Email Notification Service 2 (ENS2)
*Applicable for ENS2 version 1.10 and later and Workspace ONE UEM console version 2101 and
later.
ENS uses the following services and is dependent on the services for ENS operation. You must
allowlist or ensure that the ENS server can access the following URLs.
ENS AirWatch Signing Service signing.awmdm.com ENS2 version 1.10 and later and
Workspace ONE UEM console
version 2101 and later
Note When Modern authentication is used, ENS must directly communicate with Exchange to
refresh the authentication token. ENS IPs must be allowlisted for Modern authentication to work if
SEG is used as the EWS proxy because SEG cannot proxy the refresh token request.
VMware, Inc. 8
Email Notification Service 2 (ENS2)
Application Initialization
ASP
ASP.NET 3.5
ASP.NET 4.6
ISAPI Extensions
ISAPI Filters
Server-Side Includes
WebSocket Protocol
Directory Browsing
HTTP Errors
Static Content
VMware, Inc. 9
Email Notification Service 2 (ENS2)
For ENS2 on-premises, see the Cipher Suites in TLS/SSL (Schannel SSP) topic for default ciphers
suites for different Windows server versions and select the ENS2 on-premises server version
accordingly.
Note If SEG is configured, then ensure that the on-premises ENS server has all the ciphers that
are enabled in the SEG server.
ENS supports TLS version 1.2 and 1.3. ENS does not choose any protocol, but permits the OS
to choose the strongest available TLS version and the cipher suites. The following table lists the
recommended cipher suites.
VMware, Inc. 10
Email Notification Service 2 (ENS2)
ENS2 Prerequisites
To enable and secure the communication between the Exchange server and the ENS server, note
the following points:
n Communication between ENS and Exchange servers must not have any SSL errors.
n telnet and ping commands must work seamlessly between ENS and Exchange CAS/
Mailbox servers.
n SSL certificates used for ENS and Exchange servers must not have any errors when they run
through SSL checkers.
Note If you want to enable certificate-based authentication or configure ENS2 with SEG, see
Chapter 9 Configure Certificate-Based Authentication for ENS and Chapter 8 Configure SEG as
EWS Proxy for ENS.
VMware, Inc. 11
Email Notification Service 2 (ENS2)
1 Download the SSL certificate from the on-premises ENS server. Access the ENS Alive
endpoint in a browser and download the certificate from the address bar.
Note You must only download the root certificate issued by a trusted authority and signed
by an internal CA. For the cloud deployment, you can download the root certificate from
https://ens.getboxer.com/api/ens/alive, https://ens-eu.getboxer.com/api/ens/alive, https://
ens-apj.getboxer.com/api/ens/alive, or htpps://ens-uk.getboxer.com/api/ens/alive based on
your region, issued by VMware for your account.
For the on-premises deployment, download the root certificate and replace acme.com with
the resolved name or IP address of your ENS server.
2 Import this certificate on the Exchange Server into the Trusted Root Certification Authorities
through MMC.
VMware, Inc. 12
ENS2 Deployment Options
3
You can deploy ENS2 as a cloud-hosted service or host your own ENS instance an on-premises
installation.
n Deploying ENS2 as a cloud-hosted service with Office 365 or on-premises Exchange with
SEGv2 proxy
n Deploying on-premises ENS2 with Office 365 or Exchange in a single and multidata center
n Deploying on-premises ENS2 with SEGv2 as the EWS proxy for Office 365 or Exchange in a
single and a multidata center
Note Deploy ENS2 as a cloud-hosted service with Office 365 unless there is a requirement to
deploy on-premises ENS2 with Office 365 or Exchange in a single and multidata center or deploy
on-premises ENS2 with SEGv2 as the EWS proxy for Office 365 or Exchange in a single and a
multidata center.
ENS2 on-premises deployments can be used with multiple email servers concurrently, including
mixed-mode Exchange on-premises and Office 365 environments.
VMware, Inc. 13
Email Notification Service 2 (ENS2)
Internet
External Devices
Datacenter 1
External Load
Firewall Balancer
DMZ
Internal Load
Firewall Balancer
Internal
Network
On Premises
Exchange
VMware, Inc. 14
Email Notification Service 2 (ENS2)
Internet
Port
443
External Devices
Datacenter 1 Port
443
External Load
Firewall Balancer
Port
443
SEGv2
Port
443
Ws1 Device
Services
DMZ
Port
443
WS1 API
Port
443
AW
Console
Internal Load
Firewall Balancer
Internal
Network
On Premises
Exchange
On an on-premises setup, all traffic from ENS2 to the Exchange is routed through the SEG v2.
However, the Exchange server can directly interact with ENS2.
VMware, Inc. 15
Email Notification Service 2 (ENS2)
ENS database server can be hosted on the on-premises network behind the internal firewall and
ENS2 can communicate with ENS database through the internal firewall. ENS database server can
be scaled vertically to upgrade the capacity of the existing ENS database server.
VMware, Inc. 16
Email Notification Service 2 (ENS2)
Internet
HTTP(s) 80/443
Port and ios MDM
443 Services 5223
External Devices
Datacenter 1 Port
443
External Load
Firewall Balancer
ENSV2
DMZ
Internal Load
Firewall Balancer
Internal
Network
ENS DB On Premises
Server Exchange
Note
n ENS application servers can be scaled horizontally.
n ENS application servers can have any transparent proxy or load balancer in front of the
application server.
n ENS database servers are scaled vertically and not load balanced.
The following topology shows ENS2 deployed in a multidata center, where there might be more
than one data center to support a failover. In every data center, for each instance of ENS, there
is always a paired instance of ENS database and each ENS database can host their own data. In
case, the data center 1 fails then the data center 2 becomes active to support failover scenarios.
VMware, Inc. 17
Email Notification Service 2 (ENS2)
Internet
HTTP(s) 80/443
and ios MDM
Services 5223
Port 443
External Devices
Datacenter 1 Datacenter 2
Port 443
Internal Internal
Network Network
Note
n ENS application servers can be scaled horizontally
n ENS application servers can have any transparent proxy or load balancer in front of the
application server
n ENS database servers are scaled vertically and not load balanced
VMware, Inc. 18
Email Notification Service 2 (ENS2)
VMware, Inc. 19
Email Notification Service 2 (ENS2)
Internet
HTTP(s) 80/443
and ios MDM Port 443
Services 5223
Port
443
External Devices
Datacenter 1 Port
443
External Load
Firewall Balancer
Port 443
ENSv2 SEGv2
Port
443
Device
Services
DMZ
Port
443
API
Port
443
AW
Console
Internal Load
Firewall Balancer
Internal
Network
ENS DB On Premises
Server Exchange
VMware, Inc. 20
Email Notification Service 2 (ENS2)
The following topology shows ENS2 deployed in a multidata center, where there might be more
than one data center to support a failover. ENS2 is hosted on-premises and the SEG is installed
in between the external devices and the on-premises Exchange. All the EWS traffic coming from
the external devices must pass through the SEG and then reach the on-premises Exchange.
However, the on-premises Exchange can directly communicate with ENS2. In every data center,
for each instance of ENS2, there is always a paired instance of ENS database and each ENS
database can host their own data. In case, data center 1 fails then the data center 2 becomes
active to support failover scenarios.
VMware, Inc. 21
Email Notification Service 2 (ENS2)
Internet
Port 443
HTTP(s) 80/443
and ios MDM
Services 5223
Port 443
External Devices
Datacenter 1 Datacenter 2
Port
443
External Load Load External
Firewall Balancer Balancer Firewall
Device Device
Services Services
DMZ DMZ
Port Port
443 443
API API
Port Port
443 443
AW AW
Console Console
Internal Internal
Network Network
VMware, Inc. 22
Email Notification Service 2 (ENS2)
Note
n ENS application servers can be scaled horizontally
n ENS application servers can have any transparent proxy or load balancer in front of the
application server
n ENS database servers are scaled vertically and not load balanced
VMware, Inc. 23
Configure your Email
Notification Service for Cloud
Deployment
4
ENS2 can be deployed on a cloud-hosted service. This topic describes configuring ENS2 on a
cloud-hosted service.
n Obtain the ENS2 server URL from VMware which is required to activate the ENS service using
the Workspace ONE UEM console.
n The ENS cloud API token is obtained automatically and not shared by the VMware Support.
n An API token and ENS2 server URL received from VMware is required to activate the ENS
service using the Workspace ONE UEM console. To provision the ENS cloud API token,
contact VMware Support.
n Ensure the ENS server certificate is available on the user's Exchange server.
To configure ENS2 and email related settings for Workspace ONE Boxer see the Assign
Workspace ONE Boxer with Email Settings section in the Workspace ONE Boxer Admin Guide.
When using cloud ENS servers, you must ensure that the ENS is accessible from the Exchange or
Office 365 environment. The inbound IP addresses must be allowlisted to permit the ENS traffic
into Exchange or Office 365. The IP address is selected based on the region the ENS is hosted in.
The following table describes the Exchange server IP allowlist requirements.
VMware, Inc. 24
Email Notification Service 2 (ENS2)
For information on the architecture design and functionality of ENS2, see the ENS2 Architecture
section in the Chapter 1 What is Email Notification Service? topic.
Note The Exchange CNS outbound connections are required when ENS is hosted on cloud
and on-premises deployment. VMware leverages the public cloud providers for the greatest
availability of services and cannot provide a static list of IPs. If there is a requirement to limit the
outbound connectivity, the following hostnames can be used. For ENS use ens.getboxer.com,
ens-eu.getboxer.com, ens-uk.getboxer.com, and ens-apj.getboxer.com (based on region in which
the ENS is used) and for CNS use cns.awmdm.comThe outbound IP addresses must be
allowlisted from the Microsoft Exchange client access rules (including Office 365) and any other
firewall. This permits the outbound communication from the Exchange server into the ENS server.
You need not allowlist SEG IP addresses as all outbound connections from the Exchange server is
going to the ENS server and not to the SEG EWS proxy.
1 Login to status.workspaceone.com.
VMware, Inc. 25
Email Notification Service 2 (ENS2)
After you have added the ENS configuration keys to VMware Boxer in Workspace ONE UEM,
check the Boxer settings on your device to confirm it has received these keys and that the ENS is
activated.
1 Open Boxer, tap the Settings icon and then select the appropriate email account.
3 In the email settings, verify the Notifications display Push as the default selection.
Results: If the Use Push Service is enabled and Notifications display Push, then the ENS is
activated.
VMware, Inc. 26
Configure your Email
Notification Service for On-
Premises Deployment
5
You can configure ENS2 for an on-premises deployment. This topic explains how to configure
various versions of ENS2 in an on-premises environment.
Configuring ENS requires the installation of ENS2, followed by the configuration of Workspace
ONE Boxer. If your ENS version is older than 21.04, you must first configure CNS and download
the ENS configuration files before installing ENS2 and setting Workspace ONE Boxer for on-
premises.
Prerequisites
Before installing any version of ENS for your on-premises deployment, ensure that the following
prerequisites are met:
n Assign the db_owner role and public role to the SQL server user that is used for
running the application. ENS supports any version of the SQL server. The database
option must be selected for the external database and you must set the collation to
SQL_Latin1_General_CP1_Cl_AS. For more information on creating the Workspace ONE
UEM database, see the Create the Workspace ONE UEM Database topic in the Installing
Workspace ONE UEM guide.
n Set up the SQL Server AlwaysOn for active/active or active/passive setup for the high
availability configuration. If you are using AlwaysOn, point to the availability group when
selecting the database server during the ENS2 installation. See the Overview of Always On
Availability Groups (SQL Server) topic for more information.
n Ensure that the ENS server certificate is available on the user's Exchange server. For more
information, see Chapter 2 ENS2 Requirements and Prerequisites.
Note If your ENS version is 21.04 and later, you can skip the following section and see the
Install and Upgrade Email Notification Service 2 section. You must also ensure to allow the CNS
server IP addresses. For more information, see the CNS Server IP Allowlist section in the ENS2
Requirements and Prerequisites topic.
VMware, Inc. 27
Email Notification Service 2 (ENS2)
Prerequisites
n Download the CNS public certificate from the CNS Public Certificate.
n Navigate to the System > Advanced > Secure Channel Certificate and select Download CNS
Secure Channel Certificate Installer if the UEM console is on-premises. Open a support ticket
with the VMware Support and provide the secure channel certificate file through the support
ticket.
Note To proceed with the ENS2, your console version must be 9.3 or later. If the Download
Installer is displayed when your are configuring and downloading the configuration files, then
your console version is less than 9.3 and this installer is for the earlier version of ENS. See the
VMware Email Notification Service Installation guide for instructions and detailed information.
1 Select the required Organization Group and navigate to Groups & Settings>All Settings.
2 From the System column, select Advanced, and then select Site URLs.
VMware, Inc. 28
Email Notification Service 2 (ENS2)
3 Optional: (On-premise UEM console only) From the site URLs values page, select Cloud
Notification Service URL and add the https://cns.awmdm.com/nws/notify/apns.
4 Optional: (On-premise UEM console only) - If the Workspace ONE UEM console is deployed
on-premise, then you must upload the CNS certificate.
a From the left navigation, select System > Security > SSL Pinning.
b Select ADD HOST. In the Add Pinned Host, enter the host as cns.awmdm.com.
c Select Upload and upload the CNS certificate you downloaded earlier.
5 From the Settings page, select Email and then select Email Notification.
After the settings are saved, the Download Configuration option is displayed.
Note The password is required to download the configuration and must be provided again
during the ENS installation.
10 Save the archived .xml file to be accessible for the upload during the ENS installation.
Prerequisites
Note If your ENS version is older than 21.04, you must download the config.xml file from
the Workspace ONE UEM console. See the Configure CNS and Download Email Notification
Service Configuration Files section.
n Ensure that an SSL certificate with a valid hostname is set up on the IIS server. This server
should be externally accessible via https (SSL cert) and with a Fully Qualified Domain Name
(FQDN).
n Create a new database and name it appropriately. If you are using SQL Server AlwaysOn, you
can create availability group and listeners.
n The database account user must have privileges to access and modify the database.
VMware, Inc. 29
Email Notification Service 2 (ENS2)
To install ENS2:
1 Download the latest version of ENS2 installer from the Software section of the My Workspace
ONE portal.
2 Run the installer. The InstallShield Wizard opens and displays the License Agreement.
3 Select the I accept the terms in the license agreement check box and then click Next.
4 Click Next to install the components at the default location. If you want to install the
components at a custom location, click Change and browse and select your location.
VMware, Inc. 30
Email Notification Service 2 (ENS2)
5 If you are using ENS version prior to 21.04, perform these steps.
a Click Browse and locate the config.xml file and then click Next.
b Click Certificate Password text box and enter the certificate password you provided
when you downloaded the configuration file from the Workspace ONE UEM console, and
then click Next
6 (Optional) On the AirWatch CNS Email Proxy Configuration window, provide the following
information:
a Check Enable CNS Proxy to configure the CNS proxy. Enter the Hostname/IP address
and the Proxy Port of the the server.
n Anonymous - For Anonymous authentication type user name and password is not
required.
VMware, Inc. 31
Email Notification Service 2 (ENS2)
7 Click Next.
8 (Optional) On the AirWatch Signing Service Proxy Configuration window, provide the
AirWatch Signing Service proxy details for configuring the email server.
a Select Enable Proxy to configure the AirWatch Signing Service proxy. Enter the
Hostname/IP address and the Proxy Port of the the server.
9 Click Next.
a Browse to select the database server where the database is located. Enter the IP address
or host name of the server if the server is not listed.
c Enter the name of the database in the Name of the database catalog text box and click
Next.
n If the database has already been created, browse and select the existing database.
VMware, Inc. 32
Email Notification Service 2 (ENS2)
n If there is no existing database, enter a name for the new database, and the installer
will create and publish the database.
n You can configure using a single database configuration or with SQL AlwaysOn. The
following figure shows the single database configuration.
The below diagram shows the configuration using SQL Server AlwaysOn.
Note If you are using SQL Server AlwaysOn, you can configure the availability group
Listener URL here.
12 Enter the installation token key, on the Authentication Token Information window.
Note The following steps do not apply when you are installing ENS version prior to 21.04.
VMware, Inc. 33
Email Notification Service 2 (ENS2)
To generate a token, log in to MyWorkspaceONE and proceed with the following steps:
e Copy the token displayed on this page. You can also regenerate the token if required.
f Return to the installer and paste the copied token into the Installation Token text box.
installation.
14 Click Finish to complete the installation. After the installation is complete, an API token is
displayed in a text file.
Note This API token is required when configuring the Boxer application UEM console. Use
this value for the ENSAPIToken field.
VMware, Inc. 34
Email Notification Service 2 (ENS2)
Upgrade ENS2
You can upgrade from an older version of ENS2 to the latest version.
You must have the latest version of the installer on your system. Download the latest version of
ENS2 installer from the Software section of the My Workspace ONE portal.
The instructions to upgrade to the latest version of ENS2 are the same as the ENS2 installation
instructions. See Install and Upgrade Email Notification Service 2 section in the Chapter 5
Configure your Email Notification Service for On-Premises Deployment topic.
Prerequisites
The API token and ENS2 server URL are required to activate the ENS service using Workspace
ONE UEM console.
2 Select Resources > Apps and then select the Public tab.
4 Select Edit on the upper right corner of the page and then select the Assignment tab.
5 In the Application Configuration (Optional) section, add the required keys. The details of
the required keys to be added are listed in the Chapter 6 Configure ENS2 with Application
Configuration Values for Boxer topic.
6 Select Save & Publish and then select Publish on the next page. To verify the settings,
see the Verify VMware Boxer Settings section in the Chapter 4 Configure your Email
Notification Service for Cloud Deployment topic.
VMware, Inc. 35
Email Notification Service 2 (ENS2)
Before your begin, ensure that the cloud ENS can access the Exchange server. For more
information, see the Email Notification Service for Cloud section in the Chapter 4 Configure your
Email Notification Service for Cloud Deployment topic. When you migrate from the on-premise
server to the cloud server, you must update the following Boxer profile configuration:
When all the users migrate to the cloud server, ENS on-premise servers can be shut down.
During migration, the users can unregister from the on-premise ENS server and migrate to the
cloud ENS server.
VMware, Inc. 36
Configure ENS2 with Application
Configuration Values for Boxer 6
You can configure settings for ENS2 using the configuration key and configuration value
provided by the Workspace ONE UEM.
Note For Workspace ONE UEM version 2105 or later, by default, for all the users, the following
options appear in the Boxer app assignment page. For Workspace ONE UEM version 2101 or
later and Workspace ONE UEM version 2102 or lower, by default, for all the users, the following
options do not appear in the Boxer app assignment page. The displayed options are enabled
only for specific customers. In case, you do not see the displayed options in the Email Settings
screen, then switch to the Workspace ONE UEM 2011 or lower versions for ENS2 configuration
although you might be using Workspace ONE UEM version 2101 or lower.
The following table describes the ENS2 configuration options that are applicable for Workspace
ONE UEM console version 2101 or later.
VMware, Inc. 37
Email Notification Service 2 (ENS2)
Settings Description
VMware, Inc. 38
Email Notification Service 2 (ENS2)
Settings Description
The EWS URL configuration is optional, but it is recommended you configure the EWS URL. You
can configure the EWS URL in the Email Settings page as shown in the following screenshot.
For more information, see the Assign and Configure Workspace ONE Boxer Using the App
Assignment Page section in the Workspace ONE Boxer Admin Guide.
Settings Description
VMware, Inc. 39
Email Notification Service 2 (ENS2)
The following table describes the ENS2 configuration options that are applicable for Workspace
ONE UEM console versions 2008, 2010, and 2011.
Settings Description
ENS2 API token VMware provides the API token to activate the ENS
service. For the ENS2 on-premises installation, the installer
generates the ENS2 API token.
Sample API token - da848cc9340034843ecdjdad11048461q
The EWS URL configuration is optional, but it is recommended you configure the EWS URL. You
can configure the EWS URL in the Email Settings page as shown in the following screenshot.
For more information, see the Assign and Configure Workspace ONE Boxer Using the App
Assignment Page section in the Workspace ONE Boxer Admin Guide.
VMware, Inc. 40
Email Notification Service 2 (ENS2)
Settings Description
VMware, Inc. 41
Email Notification Service 2 (ENS2)
The following table describes the ENS2 configuration options that are applicable for Workspace
ONE UEM console versions 2004, 2005, 2006, and 2007.
Settings Description
ENS2 API token VMware provides the API token to activate the ENS
service. For the ENS2 on-premises installation, the installer
generates the ENS2 API token.
Sample API token - da848cc9340034843ecdjdad11048461q
ENS2 (Enable – Disable toggle) Activates or deactivates ENS2 in Workspace ONE Boxer.
VMware, Inc. 42
Email Notification Service 2 (ENS2)
Settings Description
The following table lists the application configuration keys and the configuration values for ENS2
that are applicable for Workspace ONE UEM console version 2003 or lower.
VMware, Inc. 43
Email Notification Service 2 (ENS2)
AccountNotifyPush Boolean False - disable (default) Enables ENS for the account.
True - enable
VMware, Inc. 44
Email Notification Service 2 (ENS2)
VMware, Inc. 45
Migrate from FedRAMP ENS On-
Premises Server to Cloud Server 7
Before you begin the migration, ensure that the cloud ENS server can access the Exchange
server. To verify the access, permit two way communication between the ENS cloud server and
the Exchange server.
When you migrate from the ENS on-premises server to the cloud server, update the following
Boxer profile configuration in the Workspace ONE UEM console Boxer app settings:
Note To migrate from FedRAMP ENS on-premises server to the cloud server, you must update
the AMER Federal URL. Contact VMware Support to receive the ENSAPIToken. VMware provides
the API token to activate the ENS service.
During migration, the users must unregister from the on-premises ENS server and migrate to
the cloud ENS server. After all users migrate to the cloud server, you can shutdown the ENS
on-premises server.
All users must resubscribe their devices after migrating from on-premises ENS to cloud ENS.
When a new Boxer profile is pushed to the device, Boxer sends a new register device request to
the ENS cloud based on the updated ENSLinkAddress URL.
Note If users are unable to unsubscribe from the previous ENS server, that is the on-premises
ENS server, then users might start receiving duplicate notifications for the new emails. Therefore,
you must deactivate the on-premises ENS server to ensure users are not receiving duplicate
notifications.
VMware, Inc. 46
Email Notification Service 2 (ENS2)
The following table describes the ENS2 configuration options that are applicable for Workspace
ONE UEM console versions 2008, 2010, and 2011.
Settings Description
ENS2 Server Address For ENS2 to communicate with the federal services,
use the following URL: https://ens.gc.workspaceone-
gov.com/api/ens
ENS2 API token VMware provides the API token to activate the ENS
service. For the ENS2 on-premises installation, the installer
generates the ENS2 API token.
Sample API token - da848cc9340034843ecdjdad11048461q
The EWS URL configuration is optional, but it is recommended you configure the EWS URL. You
can configure the EWS URL in the Email Settings page as shown in the following screenshot.
For more information, see the Assign and Configure Workspace ONE Boxer Using the App
Assignment Page section in the Workspace ONE Boxer Admin Guide.
VMware, Inc. 47
Email Notification Service 2 (ENS2)
Settings Description
VMware, Inc. 48
Configure SEG as EWS Proxy for
ENS 8
Monitor compliance of the client with the ENS2 environment so that ENS2 together with SEG V2
can block or unblock a client depending on the compliance criteria of the client.
Background
Currently, when a mobile device is enterprise wiped or removed from the Workspace ONE UEM
console, the client unregisters from the ENS2 environment. For example, when an enterprise
wipe command is sent to iOS Boxer the device tries to unregister until it is successful. However,
this is not an ideal scenario as there is a dependency on the device to unregister from the ENS2
environment.
VMware, Inc. 49
Email Notification Service 2 (ENS2)
In addition to the compliance scenario, you can use SEG V2 as a proxy when the Exchange Web
Service (EWS) endpoint is not publicly available. The EWS proxy allows devices to subscribe
to the EWS subscriptions through the SEG V2 server instead of publicly exposing the EWS
endpoint.
SEG V2 supports both cloud and on-premises ENS deployments. SEG V2 listens to the EWS
traffic from ENS using the EWS endpoints. SEG applies the MEM compliance policies on the
incoming requests and proxies the requests to Exchange. See, the Configure ENS2 with SEG
section in the Chapter 8 Configure SEG as EWS Proxy for ENS topic.
Certificate-based authentication using KCD is supported. If your deployment utilizes CBA using
KCD, SEG accquires the Kerberos token (from KCD) required for the Exchange authentication.
The authentication method for EAS and Exchange Web Service (EWS) protocol must match for
SEG to work correctly.
For more information, see the Configure SEG V2 Compliance for Email Notification Service topic
in the Secure Email Gateway (SEG) V2 guide.
Note If you provide a different hostname, SEG still uses the server timeout,
ignoreSslErrorsWithExch, and other settings from the EAS email server configuration
provided in the MEM configuration for the email server client. If the EWS server is using self-
signed certificate then you need to add the self-signed certificate in the Java trustStore before
the SEG installation or you need to rerun the SEG installer.
For SEG versions before 2.12, the only option available is to have two different MEM configuration
and two different SEG servers to proxy traffic. One SEG can serve one email server address or
FQDN. However, if EWS and ActiveSync endpoints are hosted on the same email server address
or FQDN, same SEG server can proxy both EWS and ActiveSync traffic.
VMware, Inc. 50
Email Notification Service 2 (ENS2)
4 Restart the SEG service. SEG receives the /EWS and /ews endpoints for traffic from the ENS.
Note If you enable both basic and Kerberos authentication and the client fails to present a valid
client certificate, then the SEG removes the Negotiate header and requests you to authenticate
using basic authentictaion. In such scenarios, the client is enforced to use basic authentication
only. If the client does not have the basic authentication configured then the client fails to receive
a successful response. When the client presents a valid certificate, the SEG generates a Kerberos
token and proceeds with the Negotiate authentication.
VMware, Inc. 51
Configure Certificate-Based
Authentication for ENS 9
ENS supports certificate-based authentication (CBA) and dual authentication. The dual
authentication is a combination of basic authentication and certificate-based authentication.
For ENS, you must configure the Boxer application with certificate-based authentication for
Exchange server and enable certificate-based authentication for the EWS endpoint. ENS uses
the same certificate that the Boxer application receives for the authentication purpose. ENS must
ensure that the EWS endpoint can validate the certificates used by the Boxer application.
Note When you configure SEG as the EWS Proxy for ENS, the authentication to the EWS
endpoint is through Kerberos and not certificate-based authentication.
Prerequisites
Configure Boxer application with CBA and enable CBA for the EWS endpoint. For more
information about configuring CBA for Workspace ONE Boxer, see the Workspace ONE Boxer
Admin Guide documentation.
1 Push the certificate with Boxer profile from the Workspace ONE UEM console to the
Workspace ONE Boxer.
2 Register your device with the ENS server and send the certificate from Workspace ONE
Boxer.
3 Send certificate from ENS to the Exchange server and establish the push subscription.
VMware, Inc. 52
Email Notification Service 2 (ENS2)
1 Configure Workspace ONE Boxer to use CBA. See the Configure Certificate-Based
Authentication on the Exchange Server section in the Chapter 9 Configure Certificate-Based
Authentication for ENS topic.
2 Change the appropriate settings to ensure that CBA is supported for the EWS endpoint
and for EAS on the on-premise Exchange Server. See the Using Office 365 with ENS2 and
Certificate-Based Authentication section and the Configure Certificate-Based Authentication
on the Exchange Server sections in the Chapter 9 Configure Certificate-Based Authentication
for ENS topic.
3 If you are using Secure Email Gateway V2 (SEG V2), see the Secure Email Gateway V2 guide
for information on the changes that are required on the SEG server.
In the Boxer profile, certificate-based authentication with modern authentication can be enabled
using the AccountUseOauth configuration key. See the Allow Certificate-Based Authentication
with Modern Authentication in Standalone Mode topic in the Workspace ONE Boxer Admin Guide
for more details.
1 From the IIS console, navigate to the EWS endpoint and ensure the EWS endpoint accepts
the client certificates.
VMware, Inc. 53
Email Notification Service 2 (ENS2)
2 For client certificates to be allowed on the Exchange server, the Exchange server must have
Active Directory Client Certificate Authentication installed and enabled in IIS.
Office 365 or Exchange online does not directly support certificate-based authentication. You
must set up dual authentication, that is, modern authentication and CBA, to set up certificate-
based authentication for Office 365. You must have Active Directory Federation Service (ADFS)
set up to perform certificate-based authentication. Office 365 authenticates through the modern
authentication and certificate is presented to ADFS for authentication.
VMware, Inc. 54
Email Notification Service 2 (ENS2)
You must also enable modern authentication and certificate-based authentication using the
AccountUseOauth setting in the Workspace ONE Boxer profile. See the Workspace ONE Boxer
Admin Guide documentation for more details.
The following EWS authentication methods are supported with Office 365:
Refer to the relevant Microsoft Office 365 documentation for more details.
VMware, Inc. 55
Troubleshooting ENS
10
This topic lists the various troubleshooting procedures for ENS.
The EWS is responsible for informing the ENS when there is a change in a user's mailbox. The
subscriptions have limited lifetime due to the movement of mailbox, throttling, and so on. The
Exchange can drop the EWS push subscriptions which are triggered by the Exchange and the
ENS does not have control over the subscription lifetime. The EWS sends notification updates to
the Boxer until the EWS subscription is active and alive.
To keep these subscriptions alive, the Boxer application has a check-in mechanism which
validates if an EWS subscription is alive. In addition, the ENS2 is listening for status updates
from the EWS. If the ENS2 does not receive a status update from the EWS, the ENS2 can send
the Boxer a silent push notification to check in with the EWS.
VMware, Inc. 56
Email Notification Service 2 (ENS2)
OnPrem
AW CNS
Cloud
AWS SNS
6 3
APNS
5 2
ENS Servers
Microsoft
1 Exchange
EWS
2 The ENS sends an acknowledgement to the EWS that the heartbeat signal is received.
3 The ENS checks that the heartbeat signal is received every 30 minutes from the EWS.
4 If the ENS does not receive a heartbeat signal, the ENS2 sends a silent notification to the
Boxer application to initiate the resubscription process.
6 The Boxer application proactively checks the EWS subscription status with the ENS server to
ensure the continuous delivery of notifications.
The ENS2 requests the Exchange to send heartbeat that a subscription is alive. When the
ENS2 does not receive a heartbeat the ENS2 detects a drop in subscription from the EWS. If
the subscription is not established and users are not receiving the ENS notifications, the users
can manually trigger a resubscription. To trigger a resubscription or if you do not receive ENS
notifications after you migrate from on-premises ENS to cloud ENS then change the notification
sound in the email account settings section of the Boxer settings as shown in the following
image.
VMware, Inc. 57
Email Notification Service 2 (ENS2)
The check-in mechanism used by ENS2 requires intervention from Boxer to renew the EWS
subscriptions because the users credentials are required to open the subscription. These
credentials are not stored in ENS. The functionality of ENS2 also depends on the Apple Push
Notification Service (APNS) to deliver silent notifications to the device.
The following list describes the dependencies of the ENS2 on the EWS and APNS.
n If the Boxer application is active and receives a silent notification, the Boxer application
attempts to resubscribe. When the Boxer application receives a silent notification, the Boxer
sends a resubscription request to the EWS using the employee credentials.
n The iOS can stop the Boxer process without any warning due to various reasons. In such
scenarios, the end users might see Boxer in the App Scroll of an iOS device, however, the
Boxer process is stopped. The Boxer application has no control over this process and this
state is called a killed state. If the Boxer application is in a killed state when it receives a silent
notification, the Boxer application cannot resubscribe due to which the user can experience
loss of notifications until the user opens the Boxer application. Opening the Boxer application
triggers the ENS subscription again, and the user starts receiving notifications.
n The end user might experience an inaccurate badge count when the time subscription is lost
and before the Boxer application resubscribes.
The following list describes the badge count accuracy limitations on the Boxer application:
n Sync window - The ENS checks the Inbox folder without the sync period and the Boxer
unread messages are within the sync period. So, the users might have unread messages
outside the sync window in the Inbox folder. The ENS reports these messages as unread
while the user might not see these unread email messages in the Inbox.
VMware, Inc. 58
Email Notification Service 2 (ENS2)
n Unmanaged accounts - When the user has both managed and unmanaged accounts like the
Exchange account and Gmail account, the badge counts are not handled correctly.
n Comparison with Outlook on MAC devices - The Outlook on MAC devices shows certain
emails as read whereas the same emails show unread when opened using Boxer or Outlook
for Web Access (OWA). So, the badge count is incorrect when compared with Outlook on
MAC devices.
Results:
For example, if you enter https://ens.getboxer.com/api/ens/alive you must receive the following
response:
This XML file does not appear to have any style information associated with it.
If you are unable to see a similar response, then allowlist the IP addresses and endpoints and
validate the connection to the ENS server. To see the supported ENS2 API endpoints and to
receive status updates on ENS2, refer the ENS Endpoints and IP Allowlist and Subscribe to ENS2
Cloud System Status section in the Chapter 4 Configure your Email Notification Service for Cloud
Deployment topic.
VMware, Inc. 59
Email Notification Service 2 (ENS2)
Support for proxy is added in the ENSCertificateManager service. As a workaround, you must
deactivate proxy while installing ENS so that there is a direct communication between the service
and the signing.awmdm.com. ENS does not communicate to the signing.awmdm.com after the
installation and ENS will function normally.
Problem: Check if the ENS server is accessible on an on-premises setup and is receiving the
request. After an on-premises ENS installation, confirm that the ENS is installed and running on
the ENS server.
1 Navigate to the following URL in a web browser and select the same server
where ENS is installed. The user localhost is mentioned as follows: https://localhost/
MailNotificationService/api/ens/alive. To check from outside the ENS server, see http://{ENS
server public url}/MailNotificationService/api/ens/alive and https://{ENS server public url/
MailNotificationService/api/ens/alive. You must be able to view the following response:
This XML file does not appear to have any style information associated with it. The
document tree is shown below.
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> is alive. Version =
1.5.7249.1115 Enviroment = OnPRem InstanceId = A1 </string>
2 Confirm that a certificate is imported and 443 is bound to the website if you have an issue
with the https 443 traffic.
Result:
Confirm if the ENS is receiving the request from outside (for example, receiving the request
from a browser when you reach the alive endpoint). When verifying the ENS alive endpoint, the
IIS logs are generated. The IIS logs are by default stored at the following path: %SystemDrive%
\inetpub\logs\LogFiles. If you do not find the logs at the default path, then the logs for your
IIS might be stored at a different location. To get the path for the IIS logs, check the following link:
Managing IIS Log File Storage.
For other successful ENS traffic, you might see the following log entries in the IIS logs.
VMware, Inc. 60
Email Notification Service 2 (ENS2)
2 Select the Synchronization, Notification, Availability, Automatic Replies under the Microsoft
Exchange Web Services Connectivity Tests and click Next.
3 Enter the Email address, Domain\User Name (or UPN), Password, and Confirm Password
information.
4 Enter the EWS URL manually, if the autodiscovery is not enabled or select the Use Auto-
Discovery to detect server settings if autodiscovery is enabled.
Results:
If the connectivity test fails for the following reasons, then expand the error to see more
information.
VMware, Inc. 61
Email Notification Service 2 (ENS2)
You see the following 401 error when the user is unauthorized.
You see the following error when the autodiscovery is not enabled.
VMware, Inc. 62
Email Notification Service 2 (ENS2)
You see the following error when the Remote server cannot be resolved.
VMware, Inc. 63
Email Notification Service 2 (ENS2)
1 Download and extract the EWSEditor ZIP file from the EWSEditor.
3 Navigate to the File > New Exchange Service and enter the Service URL, User Name,
Password, and Domain.
4 Click OK. If there is an error in the details entered, then an appropriate error message
appears. If the details entered are correct, then the following message appears:
5 Click Yes.
6 Select the device for which you want to check the subscription and right-click on the device.
Select Open Streaming Notifications Viewer.
8 To test the notifications, send a test message to the device. If the test is successful, the
following screen appears:
VMware, Inc. 64
Email Notification Service 2 (ENS2)
EWSEditor
You can configure the ENS2 settings using the configuration key and configuration value
provided by the Workspace ONE UEM console.
The following image shows the ENS2 settings when configured without EWS URL and with the
EWS URL.
The following table lists the Workspace ONE UEM console configuration keys and values for
ENS2.
VMware, Inc. 65
Email Notification Service 2 (ENS2)
For Workspace ONE UEM console version 2004, 2005, 2006, and 2007
You can configure the ENS2 settings and the EWS URL in Workspace ONE UEM console.
However, configuring the EWS URL is not mandatory for ENS but it is recommended you
configure the EWS URL.
You can configure the ENS2 specific settings and the EWS URL in the Email Settings
> Notification section of the Boxer app assignment page. For more information on the
ENS2 specific settings, see the Assign and Configure Workspace ONE Boxer Using the App
Assignment Page section in the Workspace ONE Boxer Admin Guide and see the Chapter 6
Configure ENS2 with Application Configuration Values for Boxer topic for more information on
the ENS2 configuration for Boxer.
You can configure the ENS2 settings and the EWS URL in Workspace ONE UEM console.
However, configuring the EWS URL is not mandatory for ENS but it is recommended you
configure the EWS URL. The location where you set the ENS2 specific settings and the EWS
URL are different.
VMware, Inc. 66
Email Notification Service 2 (ENS2)
You can configure the EWS URL in the Email Settings page and the ENS2 specific settings in
the Email Settings > Notification page of the Boxer app assignment page. For more information,
see the Assign and Configure Workspace ONE Boxer Using the App Assignment Page section in
the Workspace ONE Boxer Admin Guide and see the Chapter 6 Configure ENS2 with Application
Configuration Values for Boxer topic for more information on the ENS2 configuration for Boxer.
The Boxer application requests the public key from the ENS. The public key is used to encrypt
the user credentials. When the ENS processes the request, the ENS sends the public key and
creates a user record in the database against the user ID. In the following sample, the ENS logs
for the GetPublicKeyRequest, the Boxer application sends the SHA256 hash of the email address
as the user ID.
The possible error types and solutions that you might see during a GetPublicKeyRequest is listed
as follows:
If you see the following error when you send a GetPublicKeyRequest, then ensure that the
provided API token is correct. Verify if the API token is the same at the following instances:
n The Boxer application configuration in the UEM console. See, the Workspace ONE Boxer
Admin Guide for more information on the Boxer application configuration values.
n API token in the Boxer application logs - Verify the API token in the Boxer application logs.
VMware, Inc. 67
Email Notification Service 2 (ENS2)
When the available RSA keys in the database are exhausted, you might see the following error.
This issue is automatically fixed when the RSAKey tracker service triggers and generates new
keys again.
Note The RSAKey tracker trigger interval time is 120 minutes. If the number of keys available
in the database during the tracker trigger time is less than 250, then the RSAKey tracker starts
generating a new batch of RSA keys. By default, the RSAKey tracker generates 500 new keys at
a time.
Ensure that the following values are present in the RSAKey tracker configuration file:
When communicating with the ENS service, if you see the following error in the Boxer application
logs, then ensure that your device has proper connectivity.
VMware, Inc. 68
Email Notification Service 2 (ENS2)
Scenario 1: - If the EWS URL is not configured in the console, then the ENS tries autodiscovery to
obtain the EWS URL to subscribe the user.
Scenario 2: - If the EWS URL is configured in the console, then the ENS uses the same EWS URL
to subscribe the user.
VMware, Inc. 69
Email Notification Service 2 (ENS2)
When the subscription is successful, the ENS receives the [UserSubscribed] message with the
subscription ID as mentioned in the following code snippet.
In the Android Boxer logs, you must see the following log entries to confirm a successful
registration:
--------------------------------------------------------------
ENS SETTINGS
--------------------------------------------------------------
ENS_LINK_ADDRESS = https://ens.getboxer.com/api/ens
ENS_API_TOKEN = 17413**********************88c08
POLICY_ACCOUNT_NOTIFY_PUSH = true
EWS_URL =
ENS_STATE = (8 -> Registered)
--------------------------------------------------------------
HEALTH STATUS
--------------------------------------------------------------
App version health status: Green, Current app version: 5.11.0.4, New version: 5.10.0
Sync Health Status: Green, Sync durations in seconds: [0.522, 0.49, 0.416, 0.379, 0.424,
0.368, 0.465, 0.496, 0.565, 1.344], Sync results [OK, OK, OK, OK, OK, OK, OK, OK, OK, OK]
Ens health status: Green , Ens state: Registered
Overall health status: Green
Ens registration for account (id=8) is successful!
For the iOS Boxer logs, you must see the following log entries to confirm a successful
registration:
Note For iOS Boxer logs, open the Boxer application, navigate to the Boxer Settings, click
the VMware Secure Email, and ensure the Use Push Service switch is enabled to confirm a
successful ENS registration.
The possible errors and solutions that you might see when you are unable to locate the
autodiscover services are listed as follows:
VMware, Inc. 70
Email Notification Service 2 (ENS2)
If you see the following error, then ensure to enable autodiscovery, check the availability and
connectivity of the autodiscovery server using the EWSEditor and the MS remote connectivity
analyzer.
If this error occurs during a subscription, then ensure to enter the proper EWS URL in the
Boxer application KVP values of the UEM console. The EWSUrl used to subscribe must have the
complete endpoint specified.
VMware, Inc. 71
Email Notification Service 2 (ENS2)
To check the EWS URL availability and connectivity, check the EWSEditor and the MS remote
connectivity analyzer.
VMware, Inc. 72
Email Notification Service 2 (ENS2)
VMware, Inc. 73
Email Notification Service 2 (ENS2)
Headers {
"Content-Length" = (
135
);
"Content-Type" = (
"application/json; charset=utf-8"
);
Date = (
"Mon, 11 Nov 2019 09:13:40 GMT"
);
Server = (
"Microsoft-IIS/8.5"
);
"X-Powered-By" = (
"ASP.NET"
);
} }} at URL: https://a3.ssdevrd.com/mailnotificationservice/api/ens/registerdevicev2.
Data: {"responseCode":14,"errorMessage":"The Autodiscover service couldn't be
located.","version":"1.5.7235.6268","environmentType":"OnPrem"}. Response Code: 409
2019-11-11T09:13:43Z E [9326] [ENS] registerAccountOnENS: Error updating settings or
credentials
Error:Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request
failed: conflict (409)" UserInfo={NSLocalizedDescription=Request failed:
conflict (409), NSErrorFailingURLKey=https://a3.ssdevrd.com/mailnotificationservice/api/ens/
registerdevicev2, com.alamofire.serialization.response.error.data={length = 135,
bytes = 0x7b227265 73706f6e 7365436f 6465223a ... 4f6e5072 656d227d },
com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x282db1fa0> { URL:
https://a3.ssdevrd.com/mailnotificationservice/api/ens/registerdevicev2 } { Status Code: 409,
Headers {
"Content-Length" = (
135
);
"Content-Type" = (
"application/json; charset=utf-8"
);
Date = (
"Mon, 11 Nov 2019 09:13:40 GMT"
);
Server = (
"Microsoft-IIS/8.5"
);
"X-Powered-By" = (
"ASP.NET"
);
} }}
2019-11-11T09:13:43Z E [9365] - Unexpected error: {
BXLocalizedContextMessageErrorKey = "Could not update settings for the push notification
service";
BXLocalizedTitleErrorKey = "Could not update settings for the push notification service";
NSLocalizedDescription = "Could not update settings for the push notification service. ";
NSLocalizedFailureReason = "Failed to update push notification settings. Please contact
your administrator.";
}
VMware, Inc. 74
Email Notification Service 2 (ENS2)
In the sample error logs of Boxer, you can see the following message:
In this case, ensure that the autodiscovery URL is reachable from the ENS and the autodiscovery
URL is configured correctly using the EWSEditor tool or MS connectivity analyzer tool.
If you are using the EWSUrl, ensure that the EWSUrl key is configured in the console with a
correct value for the EWSUrl of their respective Exchange environments. To verify the EWSUrl
is correct, open a browser, enter the EWSUrl, and ensure that you are prompted to enter the
credentials.
You can find the error message and response code for different reasons. Based on the error
message, you can start troubleshooting the issue.
EWS must be accessible to the ENS application to subscribe the user for notification. If the EWS
is not configured correctly, then you might receive 403 or 401 error. In such cases, refer the
following documents:
Check the type of authentication you have enabled in the EWS. Ensure that the authentication
is in parity with what the customer is using for ActiveSync (Basic, OAuth, and CBA). The Boxer
application sends the user credentials to the ENS and the ENS uses the same credentials and the
same type of authentication to communicate with the EWS.
Note If the ENS can access the Office 365 and the Active Directory Federation Services (ADFS),
then ensure that either the ENS IPs are allowlisted on the ADFS or the affected user has no block
claim on the ADFS.
If you are using Office 365 and you receive a 401 error from the EWS URL, the reason for the
error might be because the client access rules or ADFS claims are configured. In such scenarios,
refer the following documents.
In a scenario where the ENS on-premises Exchange with CBA is enabled, you might need to
confirm that the client certificate is arriving at the Exchange endpoint. To troubleshoot any
errors, see the Troubleshooting ENS with On-Premise Exchange Server section.
VMware, Inc. 75
Email Notification Service 2 (ENS2)
On iOS devices only, you can manually perform a force subscription, in the following cases:
n If there are any changes to the keys in console, then you must approximately wait for 1
hour and check if the users are still receiving the notification. If the users are not receiving
notifications, you can proceed to re-register the Boxer application with the ENS2 service.
n If you do not see any register request in the ENS logs from the Boxer application, then
assume that the Boxer application has failed to send the register request automatically.
Therefore, the ENS tries to re-register the Boxer application with the ENS2 service forcefully.
To force register or re-register on the Boxer application, perform the following steps:
5 Repeat Step 2 through Step 4 to turn on the Use Push Service option.
VMware, Inc. 76
Email Notification Service 2 (ENS2)
When you perform either of the steps mentioned, then you can see the force register request in
the ENS logs.
To confirm the force subscription in the ENS logs, search for the ForceSubscription and you
must be able to see the following value: ForceSubscription : [True].
VMware, Inc. 77
Email Notification Service 2 (ENS2)
(58) Debug
MailNotificationService.BusinessImpl.PushNotificationBusiness.HandleExchangeEvents User Id:
[1743604ea20cda831dc7aea285e7fdc011ca233caf0fa7d5d926916622dd182d] Status event received for
user: [1743604ea20cda831dc7aea285e7fdc011ca233caf0fa7d5d926916622dd182d]
If the ENS receives the status event for the old subscription ID, then the ENS responds to the
Exchange with an unsubscribe response as shown in the following logs.
For more information on the status frequency, see the StatusFrequency topic.
ENS must receive the status events from the Exchange immediately after a subscription is
successful. If the ENS is not receiving the status events, then check the following troubleshooting
methods to verify the communication between the Exchange server and the ENS.
If you do not see any status events in the ENS logs after a successful subscription, then check
the communication between the Exchange server and the ENS. Access the following URLs in the
browser on the CAS or the mailbox servers to check the communication between the Exchange
and the ENS.
n For cloud ENS deployments, use the https://{ENS URL}/api/ens/alive. For example, https://
ens.getboxer.com/api/ens/alive. Select the ENS cloud URL based on your region.
You must be able to see the following result when you browse the specified URLs from the
browser.
This XML file does not appear to have any style information associated with it. The document
tree is shown below.
VMware, Inc. 78
Email Notification Service 2 (ENS2)
<Error> <Message> The requested resource does not support http method 'GET'. </Message> </
Error>When browsing the URLs, if you see any SSL error, then proceed to import the ENS
certificate in the MMC of the server.
Note If both the checks mentioned above are successful and the status events are
not received then check the Event Viewer logs on the Exchange server and search for
pushnotificationlistener logs. Right click on the Application node and navigate to Find. If
there are any entries then check if there are any communication errors while pushing the
notification to the ENS.
Whenever the ENS receives a new mail event, the ENS fetches the mail information from the
Exchange. The possible errors and solutions that you might see during a fetch mail request is
listed as follows:
VMware, Inc. 79
Email Notification Service 2 (ENS2)
When a mail event is received from the Exchange, the ENS tries to fetch all the information
from the mail. If you are unable to see any ENS logs such as the Fetched email, then check the
respective EWS logs in the Exchange. You can obtain the corresponding EWS logs using the
client request ID or the activity ID.
Note You can get the client request ID or the activity ID in the third column of the ENS logs.
Copy that ID and search for the client request ID or the activity ID in the EWS logs.
VMware, Inc. 80
Email Notification Service 2 (ENS2)
2019-09-06 12:11:51.5380|INFO|
MailNotificationService.BusinessImpl.NotificationsProcessor.AddNotificationToBatch|b1d8e164-
c3fb-4f67-baa6-002dd3719c4e|User Id:
[35045e4062200ca81c92d5b03928a7e86383ef8e9436d512187a711a4b18e94f] About to Post Notification
for user [35045e4062200ca81c92d5b03928a7e86383ef8e9436d512187a711a4b18e94f]
2019-09-06 12:11:52.5537|INFO|
MailNotificationService.BusinessImpl.AmazonSNSHelper.PostNotifications|67d3c6f0-
a197-4af4-958c-260eeedbf567|User Id:
[35045e4062200ca81c92d5b03928a7e86383ef8e9436d512187a711a4b18e94f] Sending notification via
SNS
2019-09-06 12:11:52.5692|INFO|
MailNotificationService.BusinessImpl.AmazonSNSHelper.PushNotificationViaSNS|67d3c6f0-
a197-4af4-958c-260eeedbf567|User Id:
[35045e4062200ca81c92d5b03928a7e86383ef8e9436d512187a711a4b18e94f] Notification successfully
sent via SNS for [424716]
To confirm if your Android device is receiving notifications from the ENS, enable the Boxer
application passcode and restart the device after a successful registration. You might see a
notification, that is, a banner containing the email address configured. On the banner notification
if you cannot perform actions such as, Delete, Reply, and Read option then, the notification is a
push notification that is sent from the ENS and not locally from the Boxer application itself. If the
notification banner contains notification actions such as Delete, Reply, Read, and so on, then the
notification is a local notification from the Boxer application and not a push notification from the
ENS.
The possible errors and solutions that you might see during a push notification request is listed as
follows:
VMware, Inc. 81
Email Notification Service 2 (ENS2)
apis
[0000000-0000000] (5) Error
MailNotificationService.BusinessImpl.CNSHelper.ReadResponse User Id:[no-user-
id] Failed To Post to CNS [https://cns.awmdm.com/nws/notify/apns] Error: [The
remote server returned an error: (400) Bad Request.] Response:
[{"status":"failure","errorReason":"Unable to process json input, errors are Unregistered,
requestId 8f8e1939-3660-43d9-b873-a7ae61ea2b7c"}] ”fcm
[0000000-0000000] (128) Error MailNotificationService.BusinessImpl.CNSHelper.ReadResponse
User Id:[no-user-id] Failed To Post to CNS [https://cns.awmdm.com/cns/services/api/
notifications/fcm] Error: [The remote server returned an error: (400) Bad Request.] Response:
[[{"fcmResults":
[{"fcmMessageId":null,"canonicalRegistrationId":null,"errorCode":"NotRegistered"}],"messageId"
:"AM0PR03MB4067FD025796AB3867E3C5AEEA4F9@AM0PR03MB4067.eurprd03.prod.outlook.com","fcmMulticas
tId":3844875711768273544,"successCount":0,"failureCount":1,"allFcmCloudError":false,"allMsgsIn
NonFcmError":true,"fewMsgsInNonFcmError":false,"errCode":5004}]]"
To troubleshoot the issue, share the trace level logs with the VMware Support team. For more
information, see the Enable Trace Level Logging for Enhanced Debugging section.
Error: The underlying connection was closed: Could not establish trust relationship for the
SSL/TLS secure channel
Note Ensure you have followed the steps as mentioned in the Configure CNS and Download
Email Notification Service Configuration Files section in the Chapter 5 Configure your Email
Notification Service for On-Premises Deployment topic.
If the issue still persists, download the latest public CNS certificate from the CNS Public Certificate
and perform the following steps:
3 Select the certificate to be uploaded and click Submit. If the following screen appears, then
the certificate is successfully added.
VMware, Inc. 82
Email Notification Service 2 (ENS2)
Note After uploading the SSL pinning certificate on the ENS, the tool adds the public key
of the certificate to the ENS configuration. When the ENS posts payload to the CNS, the
certificate validation is done against the newly added certificate public key.
4 If the following screen appears, the certificate is successfully added to the resubscription
configuration file.
Note After uploading the SSL pinning certificate, the tool adds the public key of the
certificate to the resubscription configuration file. For the resubscription mechanism, after
payload (silent notification) to the CNS, the certificate validation is done against the newly
added certificate public key.
5 If the certificate is already present in both the configuration files, then you are prompted with
the following message.
VMware, Inc. 83
Email Notification Service 2 (ENS2)
n The tool tries to upload the certificate to the ENS configuration file only if the provided
certificate is not present in the ENS configuration file. If the given certificate is already
present, then the tool does not prompt any message and continues to upload the same
certificate to the resubscription configuration file.
n The tool tries to add a certificate to the resubscription configuration file only if the
provided certificate is not present in the resubscription configuration file. If the given
certificate is present, then the tool does not prompt any message to the user.
6 If the certificate is added to the resubscription configuration file, then navigate to Services
and restart the AirWatch Resubscription Mechanism service.
If you see a 401 error while posting a notification and the UEM console is on-premises, then
navigate to System > Advanced > Secure Channel Certificate and select the Download CNS
Secure Channel Certificate Installer. You can also open a Zendesk ticket with the SaasOps >
CNS Upload Request category. To install the certificate on the CNS server, send a request to the
VMware Support team.
Error: ENS has posted notification to CNS/SNS successfully, but we don't see any notification
on the device.
VMware, Inc. 84
Email Notification Service 2 (ENS2)
This error occurs due to the APNS or the GCM token issue. To verify the APNS or the GCM
tokens, perform the following steps:
1 Log in to the Workspace ONE UEM console and navigate to the organization group where
the device is enrolled.
2 Navigate to the Devices > List View and select the device.
3 Click the SEND > PUSH NOTIFICATION and select the application as Boxer from the drop-
down.
4 Enter the Message Body and click SEND. After you click SEND, you must be able to see the
notification on the device if the APNS token is correct.
n Toggle off the push notification button in the Boxer application settings.
When the ENS receives an unregister request, the ENS processes the request and sends an
unsubscribe request to the Exchange and deletes the records from the database. The possible
errors and solutions that you might see when you unregister is listed as follows:
The following logs are seen when the Boxer application sends an unregister request with a wrong
API token. You can confirm the API token comparing the API token logged in the ENS logs and
present in the Boxer application logs.
VMware, Inc. 85
Email Notification Service 2 (ENS2)
VMware, Inc. 86
Email Notification Service 2 (ENS2)
MailNotificationService.BusinessImpl.ExchangeNotificationParser.ScanEventNotificationAsync
machinename A3
ActivityId 9f08ed6d-0726-430c-8440-9c396443c7ca
threadid (74)
logLevel Debug
VMware, Inc. 87
Email Notification Service 2 (ENS2)
Logger MailNotificationService.BusinessImpl.ExchangeNotificationP
arser.ScanEventNotificationAsync
Message UserId:
[1743604ea20cda831dc7aea285e7fdc011ca233caf0fa7d5d
926916622dd182d] Received [CreatedEvent] for
subscription:
[JwBtbjJwcjE5bWIzMDA1Lm5hbXByZDE5LnByb2Qub3V0b
G9vay5jb20QAAAAl4H5dKboFUm1kJ8ZNBKkJILRTBjMYdcI
EAAAAAQ9tcFCKSZFrTOxLbSCwj4=]
Note In the logs, you can find the user name or email address in the alphanumeric format and
not in the plain text format. For example, the user ID is mentioned as an alphanumeric string such
as, 4e9dc715faba719b266fe90f866caf8e377c08984cd1fd005bac72c7eba4db02. This string is a hash
value that is calculated from the email address.
You can use the SHA-256 hash calculator to translate any email address to a hash value. You can
then use the hash value to search logs for any user.
To obtain the logs for the cloud ENS, you can access ENS2 logs through the LogInsight.
The following steps describe the interaction between the ENS2 and Exchange with SEGv2 as the
proxy.
2 Boxer application encrypts the user credentials using the public key and sends a subscription
request to the ENS.
3 ENS requests a subscription to the Exchange server using the SEG URL which also contains
the encrypted credentials. The ENS also sends a client certificate. If the client certificate is
configured on the Boxer application profile, then the authentication received from the Boxer
profile is sent. For certificate-based authentication (CBA), when a register device request is
sent to the cloud ENS server, the ENS routes the request to the SEG with the certificate
information. The SEG follows the same token retrieval process similar to the ActiveSync
request.
4 SEG forwards the subscription request to the Exchange to complete the subscription.
The same authentication method configured in the Boxer application profile is used for
subscription. The ENS server callback URL is used to subscribe.
VMware, Inc. 88
Email Notification Service 2 (ENS2)
6 The Exchange server notifies the ENS callback URL of the subscriber to inform that a new
email has arrived, hence update the email client with the notification. The ENS fetches the
details of the email from the SEG.
7 The ENS server requests the CNS or SNS to send notification to the Boxer application or the
device of the subscriber.
8 The CNS or the SNS server contacts the Apple Push Notifications (APNs for iOS devices) or
GCM or FCM (for Android devices).
9 The APNS or GCM server pushes the email notification to the device.
Using the transaction ID received in the ews-transaction log, you can search the ews-proxy.log.
For example, if the transaction ID is 544ef2b7-9ca3-4009-b116-8a9f6513f2c7 then search for
544ef2b7.
When you see 200 in the ENS transaction log, you can confirm if the notifications are going
through the CNS communication.
VMware, Inc. 89
Email Notification Service 2 (ENS2)
VMware, Inc. 90
Email Notification Service 2 (ENS2)
The possible errors and solutions you might see during an interaction between the ENS2 and
Exchange with SEGv2 as the proxy is listed as follows:
If you see this error in the ENS logs, then ensure you have enabled the EWS proxy in the SEG
server. If you have not enabled the EWS proxy in the SEG server then perform the following
steps.
1 Navigate to the SEG > Config folder using the File explorer.
##############################################################################################
#########################################
############################# Start - HTTP endpoint path for SEG active-sync, syncML and REST
API. ##################################
##############################################################################################
#########################################
# SEG HTTP server context path. This should be same as the context path of Email/Exchange
server as Device won't know
# if it's sending request to email server or SEG Proxy. This value generally don't change but
we want to give
# the ability to the Admin to change it, if needed in some exceptional cases.
# Right now Vertx doesn't support "ignore-case" on path, and also doesn't allow mounting sub-
routers on RegEx.
# For now we're trying to avoid using RegEx anyway - https://groups.google.com/forum/#!topic/
vertx/ck95b4juj4A
activesync.context.paths=/Microsoft-Server-ActiveSync,/microsoft-server-activesync# Context
path when SEG works as EWS proxy for ENS. EWS endpoint will be deactivated by default.
enable.boxer.ens.ews.proxy=true
ews.proxy.context.paths=/EWS,/ews
# Flag used to remove unsupported www-authenticate header such as NTLM and Negotiate (in
absense of certificate) from EWS response to ENS.
remove.unsupported.auth.for.ews=true
Error: 401 - Please check the authentication type enabled in exchange (EWS endpoint)
If you see this error in the ENS logs, then the SEGv2 does not support the NTLM authentication. If
both the Basic and NTLM authentication mechanisms are enabled for the EWS endpoint, then the
SEGv2 version prior to version 2.9.0.1 cannot prefer Basic authentication over the unsupported
NTLM authentication.
VMware, Inc. 91
Email Notification Service 2 (ENS2)
This results in the ENS attempting the NTLM-based authentication for requests through the SEG,
that eventually causes 401 error responses as observed in the ews-transaction.log. If the user is
unable to deactivate the NTLM authentication mechanism for the EWS endpoint, and is using any
lower version of the SEG, then setup the KCD authentication for the ENS-SEG integration to work
correctly.
If you connect directly to the EWS endpoint on the SEGv2 proxy through the https://
[segURL]/EWS/Exchange.asmx URL, you might receive a 400 error message unless you connect
using a permitted device.
Error: The request was aborted: Could not create SSL/TLS secure channel
In the ENS logs, if you see the following error during the registration process, then the error
might be due to a cipher mismatch.
2019-12-05 15:33:40.5081|DEBUG|
MailNotificationService.BusinessImpl.ExchangeRetriesHandler.SubscribeForNotificationsAsync|
3ed2219d-42f2-4a2a-b857-ab7639ad1858|User Id:
[af03aa8bb3cae692442ec673b207fbe5666e0762bf3ca62cbaaa61c4208cd7bd] EWSUrl used to subscribe:
[https://uag.testdomain.com/ews/exchange.asmx]
2019-12-05 15:33:40.5550|WARN|
MailNotificationService.BusinessImpl.SubscriptionBusiness.SubscribeV2Async|3ed2219d-42f2-4a2a-
b857-ab7639ad1858|User Id:[af03aa8bb3cae692442ec673b207fbe5666e0762bf3ca62cbaaa61c4208cd7bd]
Service request exception occured for userId
[af03aa8bb3cae692442ec673b207fbe5666e0762bf3ca62cbaaa61c4208cd7bd], Inner exception message
[The request was aborted: Could not create SSL/TLS secure channel.].
1 Run a TCP dump on the UAG or SEG. Check the reason for the handshake failure, using the
following commands. See the Troubleshooting Firewall and Connection Issues section in the
Deploying and Configuring VMware Unified Access Gateway guide.
/etc/vmware/gss-support/install.sh
2 Open the TCP dump logs using the Wireshark or any supported application. Filter the logs
based on the IP source and IP destination and check for the client hello request as shown in
the following log.
Use the tls.alert_message.level filter to search for the SSL error or alert in the Wireshark.
Identify the source and destination IP, right click, and select Follow > Follow → TLS stream.
VMware, Inc. 92
Email Notification Service 2 (ENS2)
VMware, Inc. 93
Email Notification Service 2 (ENS2)
4 Click the Show packet > TLS 1.2 Record Layer > Handshake Protocol : Client Hello >
Transport Layer Security > Cipher Suits. You can see a list of cipher suites that the
client ENS is sending to initiate a secure communication as shown in the following image.
5 Ensure that the UAG or the SEG server has enabled the ciphers listed in the Client hello
Request.
Note To check for the enabled cipher suites in the UAG or the SEG server, you can use the
SSL report. Enter your SEG or UAG URL and wait for the test to complete. When the test is
complete, you might see the following result.
VMware, Inc. 94
Email Notification Service 2 (ENS2)
The following table lists all the response codes and messages in the SEG logs.
Problem: In case you connect to the ENS database using the Windows authentication then you
might receive the following error:
Cause:
VMware, Inc. 95
Email Notification Service 2 (ENS2)
Connecting to the ENS database using the Windows authentication might cause this issue.
Use the SQL authentication to connect to your ENS database. In the solutions steps provided,
the NT AUTHORITY\LOCAL SERVICE is the name of the user account and the database role
membership for the NT AUTHORITY\LOCAL SERVICE account must have the db_owner and
public enabled.
To add an SQL account to the ENS database, perform the following steps:
3 Navigate to Security > Logins > NT AUTHORITY\LOCAL SERVICE > User Mapping
The following procedure describes the steps to upload the SSL pinning certificate to the ENS.
VMware, Inc. 96
Email Notification Service 2 (ENS2)
Results: If the following screen appears, then the certificate is successfully added to the ENS
configuration file. Click OK to continue. After uploading the SSL pinning certificate on the
ENS, the tool adds the public key of the certificate to the ENS configuration file. When the
ENS posts payload to the CNS, the certificate validation is done against the newly added
certificate public key.
If the following screen appears, then the certificate is added successfully to the
resubscription configuration file. After uploading the SSL pinning certificate, the tool adds the
public key of the certificate to the resubscription configuration file. When the resubscription
mechanism posts payload to the CNS, the certificate validation is done against the newly
added certificate public key.
If the certificate is already present in both the configuration files, then the following prompt
message appears:
VMware, Inc. 97
Email Notification Service 2 (ENS2)
n The SSL pinning certificate tool tries to upload the certificate to the ENS configuration
file only if the provided certificate is not present in the ENS configuration file. If the given
certificate is already present, then the tool does not prompt any message and continues
to upload the same certificate to the resubscription configuration file.
n The SSL pinning certificate tool tries to add the certificate to the resubscription
configuration file only if the provided certificate is not present in the resubscription
configuration file. If the given certificate is present, then the tool does not prompt any
message to user.
n If the certificate is added to the resubscription configuration file, then restart the
AirWatch Resubscription Mechanism service in the Services tab.
VMware, Inc. 98
Email Notification Service 2 (ENS2)
ENS2 depends on the CNS service to deliver email notifications to the devices. If the existing CNS
certificate expires then the CNS certificate rotation occurs. The autodiscovery checker service
gets the latest certificate and adds the certificate in the ENS server. If the autodiscovery checker
service fails to fetch the CNS certificate and add the certificate in the ENS, then ENS cannot
send the notifications to devices and receives an SSL error. Perform the following steps to
troubleshoot the Airwatch AutoDiscovery Checker service error.
2 Review the logs for the service at \{ENS installation directory}\Email Notification
Service\Services and ensure you are able to see the following log statements without
errors: New Certificate Added Successfully.
VMware, Inc. 99
Email Notification Service 2 (ENS2)
The following VMware AirWatch root certificate error might occur if the installer is unable to
install the VMware AirWatch root certificate. To resolve this problem, ensure that the installer has
the appropriate privileges to install the certificate on the server.
The following list describes the possible errors for the AutoDiscoveryChecker.log file:
n If the error is a result of a temporary network failure, the service must attempt to connect to
the endpoint again after 24 hours.
n If the ENS server is configured behind a reverse proxy, or if the outgoing traffic
is going through a proxy then the auto discovery service does not go through the
proxy and the firewall rules must be updated to allow the IP address 192.30.68.111
for the ENS auto discovery service to be able to reach the following URL http://
awtrustdiscovery.awmdm.com/autodiscovery/HostRegistry.aws?URL=cns.awmdm.com.
In the ENS logs, while posting the notifications to CNS if you see the following error then it could
be due to the permission issue.
Depending on the type of SQL login, perform the following steps to resolve the permission issue:
2 If the customer is using SQL user to communicate with the database, then by default ENS
application pool identity account is set to NetworkService.
3 Change the application pool identity from NetworkService to LocalSystem to resolve the
issue as the local system has higher privilege to access the system level resources.
Login Type: Windows user or Active Directory (AD) user: If the customer is using AD user to
communicate with the database, then by default ENS application pool identity account is set to
AD user. To resolve the issue, add the AD user as a member of the Domain Admins and restart
the ENS machine.
In the following example, BSB02\avinash is an AD user and the identity is set to the AD user
itself.
Ensure that the AD user is a member of the Domain admins in the Active Directory > User
Properties.
Result
You can view the trace level logs in the log files within 30 minutes to an hour.
Note The trace logs might contain PII information which the customer might not wish to share. In
such cases, you can mask the PII information.
To mask the PII information, you must manually replace the text with *. For more information, see
the following example.
Trace logs after masking, that is, manually replacing text with *.
You must deactivate trace logging after you enable trace logging and debug the issue.
To deactivate trace logging, change the loggingConfiguration level value from ActivityTrace to
Verbose in all the configuration files where the changes were previously made.
Although the client shares the credentials or tokens with the ENS2 environment upon
registration, the credentials or tokens are not saved on the Workspace ONE UEM servers. The
Exchange server sends the encrypted authentication information to the Workspace ONE UEM
as part of a notification when a new email is available. From that notification (Exchange to the
ENS2), the credentials are decrypted and used to make any requests necessary to the Exchange
server. The credentials are discarded after performing the necessary requests.
If credentials are not saved, what data does the ENS save? How secure is the ENS?
n Workspace ONE stores a list of devices and a list of public private key-pairs used to decrypt
the credentials when the notifications are sent from the Exchange. The database is saved on
a Virtual Private Cloud (private subnet) secured using firewall. There is no direct access from
the Internet to this subnet. All access is controlled using VPC and firewall rules and only web
servers with a single account have access to the database.
n Workspace ONE saves the log files to help debug issues and monitor the system. The log
does not contain any private information (PI) of the customers and access is secured using
the account permissions. ENS logs the first five characters of the email subject to help debug
and troubleshoot any issues with the email notifications.
Where is the ENS hosted? Are there instances configured to serve each region based on data
sovereignty laws?
The ENS is hosted in multiple regions. We have various environments spanning the US, Europe,
and Asia regions that permit us to abide by data sovereignty rules.
What data is transmitted through the ENS server without being saved? How is it secured?
n Future functionality: The functionality to control what data (if any) is sent or fetched for
the notification. You can also control the data from an email that is used in the notification
payload.
n AWS Simple Notification Service (SNS) is used for managing push notification in the AWS
Cloud deployment.
n AWS Relational Database Service (RDS) is used for the data persistence.
When sending requests to the Exchange which user agent does the ENS2 use?
What email folders does ENS2 monitor for incoming messages and actions?
How does the ENS server authenticate a device before subscribing (Boxer application) to the
notifications?
Each ENS tenant is issued an access token, the device provides the token to access the ENS
APIs. In addition, the user credentials are required to create a subscription for a user.
How is the ENS server discovered on the device? Which application is used?
The Boxer application is configured with an ENS endpoint provided by the Workspace ONE
console. The Boxer application manages the ENS subscriptions.
The Boxer application uses certificate pinning to validate the ENS endpoint.
How are the public-private keys generated and managed on the ENS server? One key at the
time of installation or one key (or key-pair) per mailbox or user ID?
The public or private key-pairs are generated in advance and stored in the ENS database. Each
device is assigned a unique key-pair when the device registers with the ENS service.
How many pairs of public-private keys are used for moving credentials from the device?
There is one key-pair for each user that is used to encrypt all sensitive data transmitted from the
client.
How are the keys and secrets managed on the ENS server?
Public or private key-pairs, hashed email ID, device ID, partial certificate, APNS token, EWS URL,
and subscription ID manage the keys and secrets on the ENS server.
When a device initiates a connection to the ENS server what measures are taken on the client
side and the ENS server to prevent against a man-in-the-middle attack?
The device uses TLS pinning to ensure that the device is connected to a valid ENS endpoint.
What security measures are used in the notification subscription flow to ensure that a user
credentials cannot be intercepted in transmission?
In the older version of the ENS, the device provides the EWS endpoint used for subscriptions or
the Autodiscover dynamically provides the EWS endpoint. In the latest version of the ENS, a set
of EWS endpoints and their associated certificate fingerprints is associated with each API token,
and the ENS server connects to the pre-configured endpoints validated by their fingerprints.
Each ENS server is stateless, apart from the API key which is refreshed every one hour.
The ENS stores the public or private key-pairs, hashed email ID, device ID, partial certificate,
APNS token, EWS URL, and subscription ID on the SQL server.
The ENS stores the encrypted connection string in the web.config file which is decrypted and
used to open a connection with the database.
How are credentials to the SQL server managed and secured by the ENS server?
Credentials are present in the configuration file and are encrypted with the
RsaProtectedConfigurationProvider.
How does the connection pooling and failover work with redundant SQL servers?
In a deployment scenario where the redundant servers are across different data centers, how is
the data replicated across the data centers?
The ENS does not provide any explicit support for multiple data centers.
Does VMware have any guidelines for hardening the ENS server?
The standard server hardening procedures only apply. The only requirement is that the server
must be accessible through HTTPS.
Does VMware have any guidelines for hardening the SQL Server (that accepts the connections
from the DMZ hosted on the ENS server?
The standard server hardening procedures only apply. The only requirement is that the ENS
server can connect to the SQL server endpoint.
Does the ENS server work if the connection from the device is bridged at a reverse-proxy or
load-balancer? The connection terminates on the proxy and a spate connection transmits the
payload.
The only requirement is that the device can communicate with the ENS endpoint over plain
HTTPS. Long-running connections or other special behavior is not required, so a standard proxy
might not cause problems.
How are the service account credentials managed on the ENS server?
How are the APNS certificates provisioned and handled on the ENS server?
The ENS servers do not directly require APNS certificates. The ENS notifications are routed
through the CNS, and the communication between the ENS and CNS are authenticated through
the mutual TLS. The CNS certificate is provisioned from the Workspace ONE console and stored
in the web.config file on the ENS.
Whenever the ENS receives the request, extract the requesturi from the ENS and then use the
requesturi as the webhook URL. When a request is made to the registerdevicev2 endpoint, the
ENS gets the credentials which are in the encrypted format and the same encrypted data is used
and added in the webhook URL query parameters. For the credentials, use the user name and
password in the basic authentication, use the Oauthaccesstoken in the OAuth, and use the CBA
data in CBA.
How are the user credentials encrypted and encoded for the webhook URL?
Encrypt the user credentials with the asymmetric cryptographic algorithm, that is, RSA with
Public-Key Cryptography Standards 1 (PKCS 1) padding using the BouncyCastle crypto library.
After encrypting the credentials, encode the credentials using, the HttpUtility.UrlEncode.
What encryption methods and tools are used to encrypt the user credentials for the webhook
URL?
Use the RSA encryption with the PKCS 1 padding algorithm. For more information on PKCS 1, see
the bcgit/bc-csharp.
If two users share the same password credentials, then the encrypted password in webhook
URL will have the same value?
Since RSA encryption is used, different encrypted payload is obtained even though two inputs or
passwords are the same.
Can local caching storage be used for password storage? After using the plaintext password
(credential) to fetch the email how is the password purged?
The ENS does not store any caching in the local storage after decrypting the credentials. The
ENS synchronizes with the Exchange and the object holding the password is disposed.
How does the flow work when the ENS server decrypts the user credentials (password) to
plaintext to fetch the email?
The ENS decrypts the credentials (that are part of the callback URL on which the ENS receives
notifications from the Exchange) using the private key of the user and synchronizes with the
Exchange to get the email information.
Does the ENS server need a service account for the Exchange server? If yes, what are the
required access privileges?
How does the ENS authenticate with the EWS or the Exchange? How are the credentials
managed?
The device initiates all the EWS subscriptions using the user credentials stored on the device.
The device encrypts the user credentials with a unique public or private key-pair and calls the
subscription endpoint. The ENS service decrypts the credentials and uses the credentials to
create the EWS subscription.
How does the device resubscription to notification function, after a user has changed the
password on the Exchange?
When the ENS endpoint notices that a subscription has failed, the ENS sends a silent push
notification to the device to inform that the subscription must be recreated. In addition, the
device can call a status endpoint on the ENS service to determine if a subscription is active. This
permits the device to determine if the device must resubscribe to the ENS at the application start
time.
How does the ENS protect against device spoofing to ensure only devices enrolled on the
WorkSpace ONE UEM are allowed?
If a strict device compliance is required, the ENS configuration must use a SEG to communicate
with the EWS, instead of connecting to the EWS directly. The ENS server includes the device
IDs in all calls to the SEG. The SEG validates if the device IDs are compliant before allowing the
subscriptions to be created.
Does the ENS check periodically if a device is compromised before sending push notifications
to that device?
When the ENS is configured to communicate with the EWS through the SEG, the SEG prevents
the ENS service from retrieving notifications for the compromised devices.
How is the Boxer application configured for registering with the ENS for email notifications?
The configuration for using the ENS is provided to the Boxer application through the same
channel as all other Boxer configurations.
Assuming there is a URI in the Boxer configuration for making the initial connection to the
ENS,provide a sample URI.
How is the webhook URL constructed with the user credentials encrypted encoding inline?
How is the payload of push notification constructed with any enrichment and/or trimming of
data pulled from the Exchange by the ENS?
On receiving a webhook from the EWS that a new message has arrived, the ENS server decrypts
the credentials in the webhook parameters. The ENS uses the credentials to call back the EWS to
collect the details of any new messages. This data is used to form any APNS notifications to be
sent. The PolicyLimitNotificationText key in the Boxer configuration controls the content of the
generated notifications. The content is later passed to the ENS server. The following options are
available:
Values Description
2 Sender only
What are the crypto libraries and binaries used by the ENS?
The ENS uses the BouncyCastle.crypto library. For more information about the
BouncyCastle.crypto library, see the Bouncy Castle page.
Are the credentials stored in the memory of the ENS servers. If yes, for how long are the
credentials stored and what are the mitigating controls to prevent an unauthorized person from
accessing this data?
When the ENS receives push notifications from the Exchange with encrypted credentials, the
ENS decrypts the credentials in memory and sends a web request to the Exchange server with
the credentials to retrieve the subject and summary of the new email. The ENS then sends
push notifications through the SNS and discards the credentials from the memory. This process
takes less than a minute. Nobody has access to the credentials data as the data is not stored
anywhere.
Credentials are discarded after performing the necessary requests. Provide more information
on the discarding process?
The ENS runs on the .net which provides garbage collection for unused objects in the memory.
The ENS depends on this process to clean up the memory.
Can a third-party SIEM tools be integrated with the ENS? Does VMware support any form
of internal monitoring and maintenance of access logs to the ENS to identify suspicious or
malicious events?
Currently, the ENS does not have a solution to feed data into the SIEM solution. You can contact
your support or account team with your requirements.
Describe the monitoring access level the ENS2 has on the Inbox folder. Is ENS able to view the
email details (sender, subject and email body) contained in Inbox folders?
The ENS can only access the sender, subject, and the preview fields. The ENS does not
synchronize or fetch the entire Inbox folder. The ENS only fetches one email data at a time
and discards after constructing a notification.
Are copies of emails stored on the ENS server or does the ENS server act as a middle-man to
pass email details and notifications to the mobile device through the AWS SNS?
Can the OAuth token used to get the mail information (sender, recipients, subject, if
mail attachment) be used for the Exchange notification scope only (and to get only this
information)? Or does the OAuth token have the permission to read or write emails (and see all
content of an email)?
The ENS relies on the EWS.AccessAsUser.All permission to gain access to email information
using the OAuth token. Microsoft does not provide granular permissions for the EWS access. The
EWS.AccessAsUser.All is the only permission you can provide to gain access to the EWS. The
ENS fetches the required information about a new message (sender, recipient, subject, and so
on) when the Exchange notifies the ENS through a push notification. The ENS then sends this
information to the APNS or FCM and discards the information. The ENS never reads any other
information or stores the information on the ENS server.
Both the Boxer application and the ENS share application registration on the Azure AD and the
Boxer application uses these permissions.
1 Open the IIS Manager. For more information to open the IIS Manager, see the Open IIS
Manager (IIS 8) topic.
4 The Explorer opens and displays the path of the Email Notification Service.