blob: 8493b2c3d0fb9c4ebca4e295e4d6adcf620c6b11 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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.
-->
<document xmlns="http://maven.apache.org/XDOC/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
<properties>
<title>Howto create a Custom Crypt styles</title>
<author email="dev@openmeetings.apache.org">Apache OpenMeetings Team</author>
</properties>
<body>
<section name="Configuration of Custom Crypt-Style">
<p>
You can use custom Crypt-Types, but you should decide during
installation which Type of encryption you want to use. By default SCryptImplementation is used:
</p>
<ul>
<li>org.apache.openmeetings.util.crypt.SCryptImplementation - does use
SCrypt for password hashing with salt</li>
</ul>
<p>
You can edit the config-key during Installation or later in the
Administration Panel. But if you change it using the
Administration-Panel previous passwords will not work anymore
as they are encrypted with another algorithm.
</p>
</section>
<section name="Configuration of Custom Crypt-Style">
<p>
To add your own crypt style you need to write a class which
implements the interface: org.apache.openmeetings.util.crypt.ICrypt
<br />
Example of an Implementation: <br />
<a href="https://github.com/apache/openmeetings/blob/256e5cd11e5af8f422688dfc1d01ac66b370d7a0/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/SHA256Implementation.java">SHA256Implementation.java</a>
<br />
<a href="https://github.com/apache/openmeetings/blob/256e5cd11e5af8f422688dfc1d01ac66b370d7a0/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java">MD5Implementation.java</a>
<br />
</p>
<p>To add your own Encryption-Class you need to add your class to the
OpenMeetings-Webapp (make it available to the webapp-classpath) and
use your custom-class-name instead of
org.apache.openmeetings.util.crypt.SCryptImplementation during the Installation or
at runtime by editing the config-key <tt>crypt.class.name</tt></p>
</section>
<section name="Configuration of Custom Crypt-Style">
<p>credits goto Mika for sharing his Implementation of the MD5Crypt-Style</p>
</section>
</body>
</document>