<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta name="generator" content="pandoc" />
  <title></title>
  <style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<h1 id="apache-ofbiz">Apache OFBiz®</h1>
<p>Welcome to <strong>Apache OFBiz®</strong>! A powerful top level Apache software project. OFBiz is an Enterprise Resource Planning (ERP) System written in Java and houses a large set of libraries, entities, services and features to run all aspects of your business.</p>
<p>For more details about OFBiz please visit the OFBiz Documentation page:</p>
<p><a href="http://ofbiz.apache.org/documentation.html">OFBiz documentation</a></p>
<p><a href="http://www.apache.org/licenses/LICENSE-2.0">OFBiz License</a></p>
<h2 id="system-requirements">System requirements</h2>
<p>The only requirement to run OFBiz is to have the Java Development Kit (JDK) version 8 installed on your system (not just the JRE, but the full JDK) which you can download from the below link.</p>
<p><a href="https://adoptopenjdk.net/">JDK download</a></p>
<p><a href="https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244">To know more about the JDK</a></p>
<blockquote>
<p><em>Note</em>: if you are using Eclipse, make sure of running the appropriate Eclipse command <code>gradlew eclipse</code> before creating the project in Eclipse. This command will prepare OFBiz for Eclipse with the correct classpath and settings by creating the.classpath and .project files.</p>
</blockquote>
<h2 id="security">Security</h2>
<p>You can trust the OFBiz Project Management Committee members and committers do their best to keep OFBiz secure from external exploits, and fix vulnerabilities as soon as they are known. Despite these efforts, if ever you find and want to report a security issue, please report at: security @ ofbiz.apache.org, before disclosing them in a public forum.</p>
<blockquote>
<p><em>Note</em>: Be sure to read this Wiki page if ever you plan to use RMI, JNDI, JMX or Spring and maybe other Java classes OFBiz does not use Out Of The Box (OOTB): <a href="https://cwiki.apache.org/confluence/display/OFBIZ/The+infamous+Java+serialization+vulnerability">The infamous Java serialization vulnerability</a></p>
</blockquote>
<p>You can find more information about security in OFBiz at <a href="https://cwiki.apache.org/confluence/display/OFBIZ/Keeping+OFBiz+secure">Keeping OFBiz secure</a></p>
<h2 id="quick-start">Quick start</h2>
<p>To quickly install and fire-up OFBiz, please follow the below instructions from the command line at the OFBiz top level directory (folder)</p>
<h3 id="prepare-ofbiz">Prepare OFBiz:</h3>
<p><strong>Note</strong>: Depending on your Internet connection speed it might take a long time for this step to complete if you are using OFBiz for the first time as it needs to download all dependencies. So please be patient!</p>
<p>MS Windows: <code>gradlew cleanAll loadDefault</code></p>
<p>Unix-like OS: <code>./gradlew cleanAll loadDefault</code></p>
<h3 id="start-ofbiz">Start OFBiz:</h3>
<p>MS Windows: <code>gradlew ofbiz</code></p>
<p>Unix-like OS: <code>./gradlew ofbiz</code></p>
<h3 id="visit-ofbiz-through-your-browser">Visit OFBiz through your browser:</h3>
<p><a href="https://localhost:8443/ordermgr">Order Back Office</a></p>
<p><a href="https://localhost:8443/accounting">Accounting Back Office</a></p>
<p><a href="https://localhost:8443/webtools">Administrator interface</a></p>
<p>You can log in with the user <strong>admin</strong> and password <strong>ofbiz</strong>.</p>
<blockquote>
<p><em>Note</em>: the default configuration uses an embedded Java database (Apache Derby) and embedded application server components such as Apache Tomcat®, Apache Geronimo (transaction manager), etc.</p>
</blockquote>
<hr />
<h2 id="build-system-syntax">Build system syntax</h2>
<p>All build tasks are executed using the <strong>Gradle</strong> build system which is embedded in OFBiz. To execute build tasks go to OFBiz top-level directory (folder) and execute tasks from there.</p>
<h3 id="operating-system-syntax">Operating System Syntax</h3>
<p>The syntax for tasks differ slightly between windows and Unix-like systems</p>
<ul>
<li><p><strong>Windows</strong>: <code>gradlew &lt;tasks-in-here&gt;</code></p></li>
<li><p><strong>Unix-like</strong>: <code>./gradlew &lt;tasks-in-here&gt;</code></p></li>
</ul>
<p>For the rest of this document, we will use the windows syntax, if you are on a Unix-like system, you need to add the <code>./</code> to gradlew</p>
<h3 id="types-of-tasks-in-gradle">Types of tasks in Gradle</h3>
<p>There are two types of tasks designed for OFBiz in Gradle:</p>
<ul>
<li><p><strong>Standard tasks</strong>: To execute general standard Gradle tasks</p></li>
<li><strong>OFBiz server tasks</strong>: To execute OFBiz startup commands. These tasks start with one of the following words:</li>
<li><strong>ofbiz</strong> : standard server commands</li>
<li><strong>ofbizDebug</strong> : server commands running in remote debug mode</li>
<li><p><strong>ofbizBackground</strong> ; server commands running in a background forked process</p></li>
</ul>
<p>Tips:</p>
<ul>
<li><p>OFBiz <strong>server commands</strong> require <strong>&quot;quoting&quot;</strong> the commands. For example: <code>gradlew &quot;ofbiz --help&quot;</code></p></li>
<li><p>Shortcuts to task names can be used by writing the first letter of every word in a task name. However, you cannot use the shortcut form for OFBiz server tasks. Example: <code>gradlew loadAdminUserLogin -PuserLoginId=myadmin</code> = <code>gradlew lAUL -PuserLoginId=myadmin</code></p></li>
</ul>
<h4 id="example-standard-tasks">Example standard tasks</h4>
<p><code>gradlew build</code></p>
<p><code>gradlew cleanAll loadDefault testIntegration</code></p>
<h4 id="example-ofbiz-server-tasks">Example OFBiz server tasks</h4>
<p><code>gradlew &quot;ofbiz --help&quot;</code></p>
<p><code>gradlew &quot;ofbizDebug --test&quot;</code></p>
<p><code>gradlew &quot;ofbizBackground --start --portoffset 10000&quot;</code></p>
<p><code>gradlew &quot;ofbiz --shutdown --portoffset 10000&quot;</code></p>
<p><code>gradlew ofbiz</code> (default is --start)</p>
<h4 id="example-mixed-tasks-standard-and-ofbiz-server">Example mixed tasks (standard and OFBiz server)</h4>
<p><code>gradlew cleanAll loadDefault &quot;ofbiz --start&quot;</code></p>
<hr />
<h2 id="quick-reference">Quick reference</h2>
<p>You can use the below common list of tasks as a quick reference for controlling the system. This document uses the windows task syntax, if you are on a Unix-like system, you need to add the <code>./</code> to gradlew i.e. <code>./gradlew</code></p>
<hr />
<h3 id="help-tasks">Help tasks</h3>
<h4 id="list-ofbiz-server-commands">List OFBiz server commands</h4>
<p>List all available commands to control the OFBiz server</p>
<p><code>gradlew &quot;ofbiz --help&quot;</code></p>
<h4 id="list-build-tasks">List build tasks</h4>
<p>List all available tasks from the build system</p>
<p><code>gradlew tasks</code></p>
<h4 id="list-build-projects">List build projects</h4>
<p>List all available projects in the build system</p>
<p><code>gradlew projects</code></p>
<h4 id="gradle-build-system-help">Gradle build system help</h4>
<p>Show usage and options for the Gradle build system</p>
<p><code>gradlew --help</code></p>
<hr />
<h3 id="server-command-tasks">Server command tasks</h3>
<h4 id="start-ofbiz-1">Start OFBiz</h4>
<p><code>gradlew &quot;ofbiz --start&quot;</code></p>
<p>start is the default server task so this also works:</p>
<p><code>gradlew ofbiz</code></p>
<h4 id="shutdown-ofbiz">Shutdown OFBiz</h4>
<p><code>gradlew &quot;ofbiz --shutdown&quot;</code></p>
<h4 id="get-ofbiz-status">Get OFBiz status</h4>
<p><code>gradlew &quot;ofbiz --status&quot;</code></p>
<h4 id="force-ofbiz-shutdown">Force OFBiz shutdown</h4>
<p>Terminate all running OFBiz server instances by calling the appropriate operating system kill command. Use this command to force OFBiz termination if the --shutdown command does not work. Usually this is needed when in the middle of data loading or testing in OFBiz.</p>
<p>Warning: Be careful in using this command as force termination might lead to inconsistent state / data</p>
<p><code>gradlew terminateOfbiz</code></p>
<h4 id="start-ofbiz-in-remote-debug-mode">Start OFBiz in remote debug mode</h4>
<p>Starts OFBiz in remote debug mode and waits for debugger or IDEs to connect on port <strong>5005</strong></p>
<p><code>gradlew &quot;ofbizDebug --start&quot;</code></p>
<p>OR</p>
<p><code>gradlew ofbizDebug</code></p>
<h4 id="start-ofbiz-on-a-different-port">Start OFBiz on a different port</h4>
<p>Start OFBiz of the network port offsetted by the range provided in the argument to --portoffset</p>
<p><code>gradlew &quot;ofbiz --start --portoffset 10000&quot;</code></p>
<h4 id="start-ofbiz-in-the-background">Start OFBiz in the background</h4>
<p>Start OFBiz in the background by forking it to a new process and redirecting the output to <strong>runtime/logs/console.log</strong></p>
<p><code>gradlew &quot;ofbizBackground --start&quot;</code></p>
<p>OR</p>
<p><code>gradlew ofbizBackground</code></p>
<p>You can also offset the port, for example:</p>
<p><code>gradlew &quot;ofbizBackground --start --portoffset 10000&quot;</code></p>
<hr />
<h3 id="data-loading-tasks">Data loading tasks</h3>
<p>OFBiz contains the following data reader types:</p>
<ul>
<li><strong>seed</strong>: OFBiz and External Seed Data - to be maintained along with source and updated whenever a system deployment is updated</li>
<li><strong>seed-initial</strong>: OFBiz and External Seed Data - to be maintained along with source like other seed data, but only loaded initially and not updated when a system is updated except manually reviewing each line</li>
<li><strong>demo</strong>: OFBiz Only Demo Data</li>
<li><strong>ext</strong>: External General Data (custom)</li>
<li><strong>ext-test</strong>: External Test Data (custom)</li>
<li><strong>ext-demo</strong>: External Demo Data (custom)</li>
</ul>
<p>you can choose which data readers to pass in the following syntax:</p>
<p><code>gradlew &quot;ofbiz --load-data readers=&lt;readers-here-comma-separated&gt;&quot;</code></p>
<p>Example:</p>
<p><code>gradlew &quot;ofbiz --load-data readers=seed,seed-initial,ext,ext-demo&quot;</code></p>
<h4 id="load-default-ofbiz-data">Load default OFBiz data</h4>
<p>Loads default data set; meant for initial loading of generic OFBiz data. Can be applied for development, testing, demonstration, etc. purposes. Be aware that executing this task can result in your data being overwritten in your database of choice. Use with caution in production environments. The default data set is defined by datasource using the read-data attribute, followed by the name of the data set, into the datasource element of the 'entityengine.xml' file.</p>
<p><code>gradlew loadDefault</code></p>
<p>OR</p>
<p><code>gradlew &quot;ofbiz --load-data&quot;</code></p>
<h4 id="load-seed-data">Load seed data</h4>
<p>Load ONLY the seed data (not seed-initial, demo, ext* or anything else); meant for use after an update of the code to reload the seed data as it is generally maintained along with the code and needs to be in sync for operation</p>
<p><code>gradlew &quot;ofbiz --load-data readers=seed&quot;</code></p>
<h4 id="load-ext-data">load ext data</h4>
<p>Load seed, seed-initial and ext data; meant for manual/generic testing, development, or going into production with a derived system based on stock OFBiz where the ext data basically replaces the demo data</p>
<p><code>gradlew &quot;ofbiz --load-data readers=seed,seed-initial,ext&quot;</code></p>
<h4 id="load-ext-test-data">load ext test data</h4>
<p>Load seed, seed-initial, ext and ext-test data; meant for automated testing with a derived system based on stock OFBiz</p>
<p><code>gradlew &quot;ofbiz --load-data readers=seed,seed-initial,ext,ext-test&quot;</code></p>
<h4 id="load-data-from-an-entity-file">load data from an entity file</h4>
<p>Load data from an XML file holding entity data.</p>
<p><code>gradlew &quot;ofbiz --load-data file=foo/bar/FileNameHere.xml&quot;</code></p>
<h4 id="create-a-new-tenant">create a new tenant</h4>
<p>Create a new tenant in your environment, create the delegator, load initial data with admin-user and password (needs multitenant=Y in general.properties). The following project parameters are passed:</p>
<ul>
<li>tenantId: mandatory</li>
<li>tenantName: optional, default is value of tenantId</li>
<li>domainName: optional, default is org.apache.ofbiz</li>
<li>tenantReaders: optional, default value is seed,seed-initial,demo</li>
<li>dbPlatform: optional, D(Derby), M(MySQL), O(Oracle), P(PostgreSQL) (default D)</li>
<li>dbIp: optional, ip address of the database</li>
<li>dbUser: optional, username of the database</li>
<li>dbPassword: optional, password of the database</li>
</ul>
<p><code>gradlew createTenant -PtenantId=mytenant</code></p>
<p><code>gradlew createTenant -PtenantId=mytenant -PtenantName=&quot;My Name&quot; -PdomainName=com.example -PtenantReaders=seed,seed-initial,ext -PdbPlatform=M -PdbIp=127.0.0.1 -PdbUser=mydbuser -PdbPassword=mydbpass</code></p>
<p>If run successfully, the system creates a new tenant having:</p>
<ul>
<li>delegator: default#${tenandId} (e.g. default#mytenant)</li>
<li>admin user: ${tenantId}-admin (e.g. mytenant-admin)</li>
<li>admin user password: ofbiz</li>
</ul>
<h4 id="load-data-for-a-specific-tenant">load data for a specific tenant</h4>
<p>Load data for one specific tenant in a multitenant environment. Note that you must set multitenant=Y in general.properties and the following project parameters are passed:</p>
<ul>
<li>tenantId (mandatory)</li>
<li>tenantReaders (optional)</li>
<li>tenantComponent (optional)</li>
</ul>
<p><code>gradlew loadTenant -PtenantId=mytenant</code></p>
<p><code>gradlew loadTenant -PtenantId=mytenant -PtenantReaders=seed,seed-initial,demo -PtenantComponent=base</code></p>
<hr />
<h3 id="testing-tasks">Testing tasks</h3>
<h4 id="execute-all-unit-tests">Execute all unit tests</h4>
<p><code>gradlew test</code></p>
<h4 id="execute-all-integration-tests">Execute all integration tests</h4>
<p><code>gradlew testIntegration</code></p>
<p>OR</p>
<p><code>gradlew 'ofbiz --test'</code></p>
<h4 id="execute-an-integration-test-case">Execute an integration test case</h4>
<p>run a test case, in this example the componnet is &quot;entity&quot; and the case name is &quot;entity-tests&quot;</p>
<p><code>gradlew &quot;ofbiz --test component=entity --test case=entity-tests&quot;</code></p>
<h4 id="execute-an-integration-test-case-in-debug-mode">Execute an integration test case in debug mode</h4>
<p>listens on port <strong>5005</strong></p>
<p><code>gradlew &quot;ofbizDebug --test component=entity --test case=entity-tests&quot;</code></p>
<h4 id="execute-an-integration-test-suite">Execute an integration test suite</h4>
<p><code>gradlew &quot;ofbiz --test component=widget --test suitename=org.apache.ofbiz.widget.test.WidgetMacroLibraryTests&quot;</code></p>
<h4 id="execute-an-integration-test-suite-in-debug-mode">Execute an integration test suite in debug mode</h4>
<p>listens on port <strong>5005</strong></p>
<p><code>gradlew &quot;ofbizDebug --test component=widget --test suitename=org.apache.ofbiz.widget.test.WidgetMacroLibraryTests&quot;</code></p>
<hr />
<h3 id="miscellaneous-tasks">Miscellaneous tasks</h3>
<h4 id="launch-a-graphical-user-interface-of-gradle">Launch a graphical user interface of Gradle</h4>
<p>This is a very convenient feature of Gradle which allows the user to interact with Gradle through a swing GUI. You can save frequently used commands in a list of favorites for frequent reuse.</p>
<p><code>gradlew --gui</code></p>
<h4 id="run-all-tests-on-a-clean-system">Run all tests on a clean system</h4>
<p><code>gradlew cleanAll loadDefault testIntegration</code></p>
<h4 id="clean-all-generated-artifacts">Clean all generated artifacts</h4>
<p><code>gradlew cleanAll</code></p>
<h4 id="refresh-the-generated-artifacts">Refresh the generated artifacts</h4>
<p><code>gradlew clean build</code></p>
<h4 id="create-an-admin-user-account">Create an admin user account</h4>
<p>Create an admin user with login name MyUserName and default password with value &quot;ofbiz&quot;. Upon first login OFBiz will request changing the default password</p>
<p><code>gradlew loadAdminUserLogin -PuserLoginId=MyUserName</code></p>
<h4 id="compile-java-using-xlint-output">Compile Java using Xlint output</h4>
<p>Xlint prints output of all warnings detected by the compiler</p>
<p><code>gradlew -PXlint build</code></p>
<h4 id="run-owasp-tool-to-identify-dependency-vulnerabilities-cves">Run OWASP tool to identify dependency vulnerabilities (CVEs)</h4>
<p>The below command activates a gradle plugin (OWASP) and Identifies and reports known vulnerabilities (CVEs) in OFBiz library dependencies. This command takes a long time to execute because it needs to download all plugin dependencies and the CVE identification process is also time consuming</p>
<p><code>gradlew -PenableOwasp dependencyCheck</code></p>
<h4 id="setup-eclipse-project-for-ofbiz">Setup eclipse project for OFBiz</h4>
<p>Thanks to some gradle magic, setting up OFBiz on eclipse is very easy. All you need is to execute one command and then you can import the project to eclipse. This command will generate the necessary <strong>.classpath</strong> and <strong>.project</strong> files for eclipse.</p>
<p><code>gradlew eclipse</code></p>
<hr />
<h2 id="ofbiz-plugin-system">OFBiz plugin system</h2>
<p>OFBiz provides an extension mechanism through plugins. Plugins are standard OFBiz components that reside in the specialpurpose directory. Plugins can be added manually or fetched from a maven repository. The standard tasks for managing plugins are listed below.</p>
<blockquote>
<p><em>Note</em>: OFBiz plugin versions follow <a href="http://semver.org/">Semantic Versioning 2.0.0</a></p>
</blockquote>
<h3 id="pull-download-and-install-a-plugin-automatically">Pull (download and install) a plugin automatically</h3>
<p>Download a plugin with all its dependencies (plugins) and install them one-by-one starting with the dependencies and ending with the plugin itself.</p>
<p><code>gradlew pullPlugin -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</code></p>
<p>If the plugin resides in a custom maven repository (not jcenter or localhost) then you can use specify the repository using below command:</p>
<p><code>gradlew pullPlugin -PrepoUrl=&quot;http://www.example.com/custom-maven&quot; -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</code></p>
<p>If you need username and password to access the custom repository:</p>
<p><code>gradlew pullPlugin -PrepoUrl=&quot;http://www.example.com/custom-maven&quot; -PrepoUser=myuser -PrepoPassword=mypassword -PdependencyId=&quot;org.apache.ofbiz.plugin:myplugin:0.1.0&quot;</code></p>
<h3 id="install-a-plugin">Install a plugin</h3>
<p>If you have a plugin called mycustomplugin and want to install it in OFBiz follow the below instructions:</p>
<ul>
<li>Extract the plugin if it is compressed</li>
<li>Place the extracted directory into /specialpurpose</li>
<li>Run the below command</li>
</ul>
<p><code>gradlew installPlugin -PpluginId=myplugin</code></p>
<p>The above commands achieve the following:</p>
<ul>
<li>add the plugin to /specialpurpose/component-load.xml</li>
<li>executes the task &quot;install&quot; in the plugin's build.gradle file if it exists</li>
</ul>
<h3 id="uninstall-a-plugin">Uninstall a plugin</h3>
<p>If you have an existing plugin called mycustomplugin and you wish to uninstall run the below command</p>
<p><code>gradlew uninstallPlugin -PpluginId=myplugin</code></p>
<p>The above commands achieve the following:</p>
<ul>
<li>executes the task &quot;uninstall&quot; in the plugin's build.gradle file if it exists</li>
<li>removes the plugin from /specialpurpose/component-load.xml</li>
</ul>
<h3 id="remove-a-plugin">Remove a plugin</h3>
<p>Calls <strong>uninstallPlugin</strong> on an existing plugin and then delete it from the file-system</p>
<p><code>gradlew removePlugin -PpluginId=myplugin</code></p>
<h3 id="create-a-new-plugin">Create a new plugin</h3>
<p>Create a new plugin. The following project parameters are passed:</p>
<ul>
<li>pluginId: mandatory</li>
<li>pluginResourceName: optional, default is the Capitalized value of pluginId</li>
<li>webappName: optional, default is the value of pluginId</li>
<li>basePermission: optional, default is the UPPERCASE value of pluginId</li>
</ul>
<p><code>gradlew createPlugin -PpluginId=myplugin</code></p>
<p><code>gradlew createPlugin -PpluginId=myplugin -PpluginResourceName=MyPlugin -PwebappName=mypluginweb -PbasePermission=MYSECURITY</code></p>
<p>The above commands achieve the following:</p>
<ul>
<li>create a new plugin in /specialpurpose/myplugin</li>
<li>add the plugin to /specialpurpose/component-load.xml</li>
</ul>
<h3 id="push-a-plugin-to-a-repository">Push a plugin to a repository</h3>
<p>This task publishes an OFBiz plugin into a maven package and then uploads it to a maven repository. Currently, pushing is limited to localhost maven repository (work in progress). To push a plugin the following parameters are passed:</p>
<ul>
<li>pluginId: mandatory</li>
<li>groupId: optional, defaults to org.apache.ofbiz.plugin</li>
<li>pluginVersion: optional, defaults to 0.1.0-SNAPSHOT</li>
<li>pluginDescription: optional, defaults to &quot;Publication of OFBiz plugin ${pluginId}&quot;</li>
</ul>
<p><code>gradlew pushPlugin -PpluginId=myplugin</code></p>
<p><code>gradlew pushPlugin -PpluginId=mycompany -PpluginGroup=com.mycompany.ofbiz.plugin -PpluginVersion=1.2.3 -PpluginDescription=&quot;Introduce special functionality X&quot;</code></p>
<hr />
<h2 id="useful-tips">Useful Tips</h2>
<h3 id="gradle-tab-completion-on-unix-like-systems">Gradle tab-completion on Unix-like systems:</h3>
<p>To get tab completion (auto complete gradle commands by pressing tab) you can download the script from the below link and place it in the appropriate location for your system.</p>
<p><a href="https://gist.github.com/nolanlawson/8694399">Gradle tab completion</a></p>
<p>For example, on debian based systems, you can use the following command:</p>
<p><code>sudo curl -L -s https://gist.github.com/nolanlawson/8694399/raw/gradle-tab-completion.bash -o /etc/bash_completion.d/gradle-tab-completion.bash</code></p>
<h2 id="crypto-notice">Crypto notice</h2>
<p>This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See <a href="http://www.wassenaar.org/" class="uri">http://www.wassenaar.org/</a> for more information.</p>
<p>The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.</p>
<p>The following provides more details on the included cryptographic software:</p>
<ul>
<li>Various classes in OFBiz, including DesCrypt, HashCrypt, and BlowFishCrypt use libraries from the Sun Java JDK API including java.security.* and javax.crypto.* (the JCE, Java Cryptography Extensions API)</li>
<li>Other classes such as HttpClient and various related ones use the JSSE (Java Secure Sockets Extension) API</li>
</ul>
</body>
</html>
