IBM ® Security Verify Governance Adapter 10.0.6 for ServiceNow - Release Notes
IBM Security Verify Governance Adapter for ServiceNow 10.0.6 is available. Compatibility, installation, and other getting-started issues are addressed.
Copyright
International Business Machines Corporation 2023. All rights
reserved.
US
Government Users Restricted Rights -- Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp.
Table of Contents
Table of Contents
Installation and Configuration Notes 13
Service/Target form details 14
Installing in Virtual Appliance (Chapter present under ISVG only) 14
Enabling TLSv1.2 in Security Directory Integrator 21
Suppressing password in clear text 23
Chapter 5 - Troubleshooting 24
Enabling DEBUG Logs on SDI Server 24
Welcome to the IBM Security Verify Governance ServiceNow Adapter.
These Release Notes contain information for the following products that was not available when the IBM Security Verify Governance Adapter manuals were printed:
IBM Security Verify Governance ServiceNow Adapter Installation and Configuration Guide
The ServiceNow Adapter is designed to create and manage accounts on ServiceNow portal. The adapter runs in "agentless" mode. The adapter uses the REST API to establish communication with the ServiceNow server.
The Verify Governance adapters are powerful tools that require Administrator Level authority. Adapters operate much like a human system administrator, creating accounts, permissions and home directories Operations requested from the IBM Security Verify Governance or Identity Manager server will fail if the adapter is not given sufficient authority to perform the requested task.
Review and agree to the terms of the IBM Security Verify Governance Adapters License prior to using this product. The license can be viewed from the "license" folder included in the product package.
Component |
Version |
|
Release Date |
2023 December 11 04.00.55 |
|
Adapter Version |
10.0.6 |
|
Component Versions |
Adapter build: 10.0.6.3 Profile 10.0.6 Connector: N/A (uses the HTTP Client connector from Security Directory Integrator) Dispatcher 7.1.39 (packaged separately) |
|
Documentation |
The following guides are available in the IBM Verify Governance Adapter Knowledge Center ServiceNow Adapter Installation and Configuration Guide |
|
Internal# |
Enhancement # (RFE) |
Description |
|
|
|
Items included in 10.0.6 release |
|
|
|
None |
|
|
|
Items included in current 10.0.5 release |
|
|
|
None |
|
|
|
Items included in current 10.0.4 release |
|
|
|
None |
|
|
|
Items included in current 10.0.3 release |
|
|
None |
|
|
|
|
Items included in 10.0.2 release |
|
|
None |
|
|
|
|
Items included in 10.0.1 release |
|
|
|
None |
|
|
|
Items included in 7.1.10 release |
|
RTC 186616 |
|
Add support for HR attributes - Cost Center, Building, Business Unit, Employee type, Hire Date |
|
|
|
Items included in 7.1.9 release |
|
|
|
None |
|
|
|
Items included in 7.1.8 release |
|
RTC 185407 |
N/A |
Adapter must support private proxy
|
|
|
|
Items included in 7.1.7 release |
|
RTC 184350 |
N/A |
Added “Do not return inherited roles� in service form |
|
RTC 184351 |
N/A |
Added Proxy Support |
|
|
|
Items included in 7.1.6 release |
|
|
|
None |
|
|
|
Items included in 7.1.5 release
|
|
|
|
On-Premise Solution support. |
|
|
|
Items included in 7.1.4 release
|
|
|
|
None |
|
|
|
Items included in 7.1.3 release
|
|
|
|
Add support for IGI 5.2.2 This adapter is now designed for use with IBM Security Identity Manager, Privileged Identity Manager, and Identity Governance and Intelligence. |
|
|
|
Updated service form to include: company and manager. |
|
|
|
Items included in 7.0.2 release
|
|
|
|
Updated rdn and external attributes for ServiceGroups: ServiceNowGroup and ServiceNowRole |
|
|
|
Updated service form to include: description, owner and prerequisite. |
|
|
|
Items included in 7.0.1 release
|
|
|
|
Initial release for ISIM |
Internal# |
Known Issue#/Case# |
Case# / Description |
||
|
|
Items included in in 10.0.6 release |
|
|
SVGAD-1307 Bug 4189 |
DT243749​TS014057097 |
All the Reference attributes on person like Company, Location are not correctly returned during reconciliation. |
|
|
SVGAD-1351 Bug 4215 |
TS014391573 |
The custom u_isim_location_code is not getting populated during account creation, but is reflected correctly during recon/modify operation. |
|
|
SVGAD-1368 |
|
Canonical values missing for erServiceNowCalendarIntegration in targetProfile.json |
|
|
|
|
Items included in current 10.0.4 release |
|
|
RTC 190864 Bug 3891 |
IJ41362 TS009662527 |
Adapter OOM as it stores user accounts twice during reconciliaiton |
|
|
|
|
Items included in current 10.0.4 release |
|
|
Bug 3944 RTC 190959 |
IJ42613 TSTS010439428 |
Not all data being returned for the choices (locations, costcenters, etc ) |
|
|
|
|
Items included in current 10.0.3 release |
|
|
Bug 3561 RTC 189894
|
IJ34946 |
TS005945547 / question about adding custom attributes to servicenow adapter for IGI Please refer ServiceNow CustomAttribute Documentation.pdf document from the link IBM Security Verify Governance Adapters v10.x |
|
|
Bug 3617 RTC 189897
|
IJ35104 |
TS006622099 / Adapter Reconciliation fails to return all 1M group memberships |
|
|
|
|
Items included in 10.0.2 release |
|
|
Bug 3445 RTC 188916
|
IJ31958 |
TS004967663 / Employee Type attribute management |
|
|
|
|
|
|
|
Bug 3285 RTC 188377
|
IJ28102 |
TS003893112 / ServiceNow: Modify/Add/Delete/Suspend/Restore do not work with proxy setting
|
|
|
|
|
Items closed in 7.1.10 release |
|
|
Bugz 3248 TS003746169 RTC 186898 |
IJ25288 |
ServiceNow password issue for modify/create user |
|
|
|
|
Items closed in 7.1.9 release |
|
|
Bugz 3136, TS003240607 Bugz 3125, TS003162341 RTC 185908
|
|
Handle null conditions for user object in ServiceNow adapter
|
|
|
Bugz 3117 RTC 185778 TS003116632
|
IJ19873 |
FILTERED RECON FOR SERVICENOW ADAPTER FAILS FOR (!(ERUID=ING_*)) |
|
|
|
|
Items closed in 7.1.8 release |
|
|
Bugz 3053 RTC 185238
|
IJ19873 |
ServiceNow filter of (!(eruid=iNG_*)) fails |
|
|
Bugz 3054 RTC 185247, TS002754323
|
IJ20667 |
ServiceNow 6.0.7.19 – recon is timing out / OOM, TS002754323 |
|
|
|
|
Items closed in 7.1.7 release |
|
|
RTC 184680 |
N/A |
Skip bad records during recon |
|
|
|
|
Items closed in 7.1.6 release |
|
|
RTC 182351 |
|
Fixed “Strange value in ServiceNow timezone supporting data�
Known Limitation: Time zone attribute cannot be set to “system timezone� after been set to some other value. |
|
|
|
|
Items closed in 7.1.5 release
|
|
|
181206 |
|
Internal - As an ServiceNow adapter developer, I must ensure that the dn target attribute should be mapped to dn governance attribute by default |
|
|
|
|
Items closed in 7.1.4 release
|
|
|
|
IJ02613 |
Fixed incorrect setStatusWarning call in ALs |
||
|
|
Items closed in 7.1.3 release
|
|
|
|
42650,082,000 |
Updated searchAL to handle empty groups |
||
|
|
Items closed in 7.0.2 release
|
|
|
|
|
NULL |
||
|
|
Items closed in 7.0.1 release
|
|
|
|
|
Initial release for ISIM |
Internal# |
APAR# |
Case# / Description |
|
|
|
Invalid attributes values might be ignored by ServiceNow If invalid attributes values are sent to ServiceNow and the attribute is not required, ServiceNow might ignore the attribute but return successfully instead of returning errors. |
|
|
|
Unable to set choice list field with empty value Due to API limitation, the adapter is unable to set a choice list with empty value(NULL). There is a workaround if the field value is integer: Overriding the "--None--" display value with NULL_OVERRIDE, as suggested in: Changing the --None-- Display Value Then set the "none" option value to NULL_OVERRIDE in "Design Form" in "Configuration System". "Calendar Integration" is an example of such fields. If the field value type is string and the null value is pointing at another choice, e.g. if null value is displaying System Default, then a possible workaround is to edit the choice label and mark which is the system default. So instead of selecting the null value, we can select the system default with the modified label. |
|
|
|
Unable to reflect data change that happened on ServiceNow If any modification done by the adapter triggered changes on the ServiceNow server, such as business rules or role inheritance, then these modification will lead to data inconsistency between server and ISIM/PIM/IGI. This is because the adapter is not aware of any modification happens on the server by ServiceNow until reconciliation. We recommend either turn off such business rule on ServiceNow or perform reconciliation after modify those attributes on ISIM/PIM/IGI. |
|
|
|
Only default attribute is included in current release The current release contains only default attributes. |
|
SVGAD-1364 |
|
In ISVG a lookup can’t reference an attribute in the account object class. A lookup to other users to get the manager value is not possible. |
i |
SVGAD-1403 |
|
Clearing a value for a reference/supporting data type attribute in ISVG doesn’t work. If you clear the value, the value does not get deleted from the attribute in ISVG and no event is send to the target . |
|
SVGAD-1406 |
|
To delete a value like phone or mobile phone, you have to specify a blank/space in ISVG. Clearing the value without replacing it with a blank will not result in the value being removed on the target |
|
SVGAD-40 |
|
The password used for a connect Test can’t contain the characters < or > If the he password for the ServiceNow account that is used to establish a connection with ServiceNow contains the characters < or > , this will result in the below error "exception": "java.lang.Exception: com.ibm.commons.util.io.json.parser.TokenMgrError: Lexical error at line 1, column 1. Encountered: "<" (60), after : """, |
|
We recommend verifying any issue encountered with the ServiceNow's REST API explorer first, to make sure it's not due to any setting or restriction related with your instance.
See the IBM Security Verify Governance ServiceNow Adapter Installation and Configuration Guide for detail instructions.
The ServiceNow Adapter Installation and Configuration Guide can be obtained from the IBM Documentation Website
No updates for the current release
No updates for the current release
Value that identifies the company
Value that identifies the department
Value that identifies the cost center
Value that identifies the business unit
Value that identifies the location
Value that identifies the building
The above values can be used to specify the source column/attribute in the ServiceNow table that should be used as display value.
As an example: specify code in the cost center value section if you want to use the code values from the cmn_cost_center table as display values to identify cost centers.
Add below note to the end of the content of the chapter:
Note: While uploading the Adapter package, you may receive System Error: A file included in the SDI Adapter zip already exists on the system and the Server Message log under Appliance tab of VA will have a reference to error com.ibm.identity.sdi.SDIManagementService E File ibm.com_IBM_Security_Verify_Governance_xxxx.swidtag found in the adapter zip at location ILMT-Tags/ already exists in system. This is because, you can install the same swidtags only once. So, if another adapter of the same type is installed, remove the swidtags.
The ibm.com_IBM_Security_Verify_Governance_Enterprise-xxxx.swidtag file is common to all adapters. In addition to the common swidtag file, an application adapter needs ibm.com_IBM_Security_Verify_Governance_Application_Adapters-xxxx.swidtag file and an infra adapter needs ibm.com_IBM_Security_Verify_Governance_Lifecycle-xxxx.swidtag and ibm.com_IBM_Security_Verify_Governance_Compliance-xxxx.swidtag files. So, if an application adapter is already installed and this is an infra adapter, then only install the infra-specific swidtags and the other way around. Please visit IBM Security Verify Governance Adapters v10.x link to identify the adapter type of the installed adapters.
Remove :
For attribute with supporting data, such as
erServiceNowDepartment:
Set the Assignment in searchUser's Input Map as
conn.departmentValue.
In the Override GetNext, search for
if(usersList[currentUser].department)
{usersList[currentUser].departmentValue
= usersList[currentUser].department.value; }
Add the custom attribute. This piece of script is to
retrieve the department.value, which is the SYSID.
Assign it to departmentValue which is used in the Input
mapping.
In the searchChoice, add the Input Map for supporting data
attributes:
erServiceNowDepartmentName maps to
conn.erServiceNowDepartmentName,
erServiceNowDepartmentSysID maps to
conn.erServiceNowDepartmentSysID
In After Initialize, add the following line for your
custom attribute:
addToChoiceMap(supporting data object class anme,
titleName,
attribute name, attribute SYSID, url for the table
supporting data referred to)
For example, the code for department is:
addToChoiceMap(“erServiceNowDepartmentClass�,�name�,�erServiceNowDepartmentName�,
“erServiceNowDepartmentSysID�,�/api/now/v1/table/cmn_department�)
Add
Adding Custom Attributes
ServiceNow support custom fields for user object. The adapters supports only the standard set of attributes but you can customize the adapter to support custom attributes.
1. Procedure to add a custom attribute u_cpf to sys_user Table:
Extracting Profile jar file :
Copy the adapter profile JAR file and extract the files.
a. Download the adapter package from the IBM® Passport Advantage® website.
b. Copy the ServiceNowProfile.jar file, which is included in the adapter package, into a temporary directory.
c. Run the following command to extract the contents of the ServiceNowProfile.jar file:
cd c:\temp
jar -xvf ServiceNowProfile.jar
The jar command creates the c:\temp\ServiceNowProfile directory.
The JAR file contains a ServiceNowProfile folder with the following files:
• CustomLabels.properties
• erServiceNowAccount.xml
• erServiceNowService.xml
• schema.dsml
• service.def
• ServicenowAL.xml
• targetProfile.json
Updating Schema.dsml :
Update the schema.dsml file, which identifies all of the standard user account attributes. Modify the file to identify new custom attributes.
a. Open schema.dsml in a text editor.
b. Add the custom attribute at the end of attributes.
For example:
<attribute-type single-value="true">
<name>erServiceNowCpf</name>
<object-identifier>1.3.6.1.4.1.6054.3.177.2.1005</object-identifier>
<syntax>1.3.6.1.4.1.1466.115.121.1.15</syntax>
</attribute-type>
Note:
• In the attribute-type, use single-value to indicate whether the attribute is single-value or multi-value.
• The attribute name must start with a prefix erServiceNow to easily identify the attributes that are used with IBM® Security Identity Manager.
• The Object Identifier (OID) is increased by 1. Start a new range of number for custom attribute to avoid OID conflicts with future version of adapters. For example, you can start your attribute OID from 1.3.6.1.4.1.6054.3.177.2.1000, so the first attribute OID is 1.3.6.1.4.1.6054.3.177.2.1001. An error message is displayed if there is any conflict in the OID.
c. Add the Account attributes under Account Objectclass Section
For Example:
<attribute ref="erServiceNowCpf" required="false"/>
Updating CustomLabels.properties :
Add the attribute and its label in the CustomLabels.properties file to show the correct label on Adapter account form.Use the format attribute=label.
For Example:
erServiceNowCpf=Cpf
Updating Assembly Lines:
Modify the assembly lines to add new mappings for the custom attributes. The Assembly Lines in servicenowAl.xml contain mapping instructions from IBM Security Identity Manager request to ServiceNow.
a. Launch the Security Directory Integrator Configuration Editor.
b. Select File > Open Security Directory Integrator Configuration File to open the servicenowAL.xml.
c. Select snAdd > addUser, which contains the mapping for the Add user operation.
d. In the OutputMap, add the name of the custom field exactly as the API Name on ServiceNow.
e. Change the default value of work.[custom field name] to work.[custom attribute name].
For Example:
Add the Work Attribute as work.erServiceNowCpf and Assignment as u_cpf
f. Add the attribute to snModify > Output Map.
For Example:
Add the Work Attribute as work.erServiceNowCpf and Assignment as u_cpf
g. Add the attribute to snRecon. Select searchUser and add the custom attribute.
For Example:
In the Input Map,Set the Work Attribute as erServiceNowCpf and Assignment as conn.u_cpf
Modifying erservicenowaccount.xml:
Modify the adapter form to view or edit the new custom attribute. Otherwise, the attribute is not displayed even if the Assembly Lines work.You can set the attribute value type according to the field type on ServiceNow.
For Example:
<formElement direction="inherit" label="$erServiceNowCpf" name="data.erServiceNowCpf" required="false">
<input name="data.erServiceNowCpf" type="text"/>
</formElement>
Updating the targetprofile.json file
The Servicenow targetprofile.json file identifies all of the supported service account attributes for the IBM Security Verify Governance.
About this task
Modify the targetprofile.json to identify the new extended attributes.
Procedure
1.Change to the \servicenowprofile directory, where the targetProfile.json file has been created.
2.Open the targetProfile.json file in a text editor.
3.Find the attributes section under userExtension section.
For example:
"user Extension": {
"schema": "urn:ibm:idbrokerage:params:scim:schemas:extension:ServiceNowAccount:2.0:User",
"definition": {
"id":"urn:ibm:idbrokerage:params:scim:schemas:extension:ServiceNowAccount:2.0:User",
"name": "CustomUserExtension",
"description": "Security adapter view of a user",
"attributes": [
The attributes section contains an array of attribute definitions. Each definition is separated by a comma.
4.Add your extended attributes to this attributes section. An attribute object contains the following fields:
Field
Description
Name
Attributes name.
Type
data type (string integer, boolean, binary)
multiValued
True, if attribute can have multiple values.
required
true, if required attribute.
caseExact
true, if value is case-sensitive.
mutability
immutable, read, write, readwrite
returned
Use "default".
uniqueness
User "server".
specialFlags
User "none".
canonicalValues
Optional list of valid values for this attribute as a json array
The attribute object is enclosed in braces ({}). Each field has the name in quotes followed by a colon and the value. Each field is separated by a comma.
For example:
{
"name": "erServiceNowCpf",
"type": "string",
"multiValued": false,
"description": "Cpf",
"required": false,
"caseExact": false,
"mutability": "readWrite",
"returned": "default",
"uniqueness": "none",
"specialFlags": "none"
},
Ensure that you separate each attribute definition with a comma. After you update the file, it is suggested that you verify that the syntax is correct by using one of the freely available json lint sites.
Generating Jar:
Create a JAR file and install the new adapter profile.
a. Create a JAR file using the files in the \temp directory. Run the following commands:
cd c:\temp
jar -cvf ServiceNowProfile.jar ServiceNowProfile
b. Import the ServiceNowProfile.jar file into the IBM Security Identity server.
c. Restart the dispatcher.
Note: See the LDAP and trace logs if there is a problem loading the profile.
Note:
If the custom field references another table, define the field as supporting data.
Procedure:
1. Apply recommended fix packs and limited availability (LA) versions on the Security Directory Integrator. See Recommended fixes for IBM Tivoli Directory Integrator (TDI) & IBM Security Directory Integrator (SDI).
2. After applying the appropriate updates, modify the /solution.properties file by appending the following text to the bottom of the file:
#####################
# # Protocols to enforce SSL protocols in a SDI Server
# # Optional values for com.ibm.di.SSL* property (TLSv1, TLSv1.1, TLSv1.2). # # This can be a multi-valued comma separated property
# # Optional values for com.ibm.jsse2.overrideDefaultProtocol property (SSL_TLSv2, TLSv1,TLSv11,TLSv12).
# # This is a single value property.
#####################
-
com.ibm.di.SSLProtocols=TLSv1,TLSv1.1,TLSv1.2
com.ibm.di.SSLServerProtocols=TLSv1,TLSv1.1,TLSv1.2
com.ibm.jsse2.overrideDefaultProtocol=TLSv1
com.ibm.jsse2.overrideDefaultTLS=true
#####################
Last Updated: 2022-03-25
While you are executing the user add and password change operations, the REST API shows the password in clear text.
About this task
To suppress the password in clear text, perform the following steps:
Procedure
Add the following property to the log4j properties file:
log4j.logger.org.apache.http=ERROR, Default
Note: The property must be added after the following property:
log4j.rootCategory=DEBUG, Default
Restart the dispatcher.
1. Stop the SDI Server process
2. Edit the <SDI_Solution_Directory>/etc/log4j.properties
3. Modify the following line:
log4j.rootCategory=INFO, Default
to
log4j.rootCategory=DEBUG, Default
2. Edit <SDI_HOME>/etc/log4j2.xml
3. Modify the following line:
<Root level="info">
to
<Root level="debug">
4. Start the SDI Server process
5. Re-create the problem and collect the <SDI_Solution_Dir>/logs/ibmdi.log\
No updates for the current release
No updates for the current release
The IBM Security Verify Goverance adapters can be customized and/or extended. The type and method of this customization
may vary from adapter to adapter.
Refer to the ‘IBM Security Verify Governance Adapter Development and Customization Guide’
The integration to the IBM Security Verify Governance server - the adapter framework - is supported. However, IBM does not support the customizations, scripts, or other modifications. If you experience a problem with a customized adapter, IBM Support may require the problem to be demonstrated on the GA version of the adapter before a case is opened.
The IBM Security Verify Adapter for ServiceNow was built and tested on the following product versions.
Adapter Installation Platform:
Due to continuous Java security updates that may be applied to your IBM Security Verify servers, the following SDI releases are the officially supported versions:
·Security Directory Integrator 7.2 + FP11
Earlier versions of SDI that are still supported may function properly, however to resolve any communication errors, you must upgrade your SDI releases to the officially supported versions by the adapters.
Managed Resource:
ServiceNow Portal (user accounts only) - Vancouver
ServiceNow On-Premise Solution
Verify Governance
IBM Security Verify Governance Identity Manager v10.0
IBM Security Verify Governance v10.0
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services,
or features discussed in this document in other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM product, program, or service is not
intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent
product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it
is
the user's responsibility to evaluate and verify the operation of any
non-IBM product, program, or service.
IBM
may have patents or pending patent applications covering subject
matter described in this document. The furnishing
of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
IBM
Director of Licensing
IBM Corporation
North Castle
Drive
Armonk, NY 10504-1785 U.S.A.
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your
country or send inquiries, in writing, to:
Intellectual
Property Licensing
Legal and Intellectual Property Law
IBM
Japan, Ltd.
1623-14, Shimotsuruma, Yamato-shi
Kanagawa
242-8502 Japan
This
information could include technical inaccuracies or typographical
errors. Changes are periodically made to the information herein;
these changes will be incorporated in new editions of the
publication. IBM may make improvements and/or changes in the
product(s) and/or the program(s) described in this publication at any
time without notice.
Any
references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of
those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your
own risk.
IBM may use or distribute any of the information
you supply in any way it believes appropriate without incurring any
obligation to you.
Licensees of this program who wish to
have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and
other programs (including this one) and (ii) the mutual use of the
information which has been exchanged should contact:
IBM
Corporation
2ZA4/101
11400 Burnet Road
Austin, TX
78758 U.S.A.
Such
information may be available, subject to appropriate terms and
conditions, including in some cases, payment of a fee.
The
licensed program described in this information and all licensed
material available for it are provided by IBM under terms of the IBM
Customer Agreement, IBM International Program License Agreement, or
any equivalent agreement between us.
Any performance data
contained herein was determined in a controlled environment.
Therefore, the results obtained in other operating environments may
vary significantly. Some measurements may have been made on
development-level systems and there is no guarantee that these
measurements will be the same on generally available systems.
Furthermore, some measurements may have been estimated through
extrapolation. Actual results may vary. Users of this document should
verify the applicable data for their specific
environment.
Information concerning non-IBM products was
obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested
those products and cannot confirm the accuracy of performance,
compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed
to the suppliers of those products.
Trademarks
IBM,
the IBM logo, and ibm.com are trademarks or registered trademarks of
International Business Machines Corp., registered in many
jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark
information" at www.ibm.com/legal/copytrade.shtml.
Microsoft,
Windows, and the Windows logo are trademarks of Microsoft Corporation
in the United States, other countries, or both.
Java and
all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
End of Release Notes