pax_global_header 0000666 0000000 0000000 00000000064 13606675757 0014540 g ustar 00root root 0000000 0000000 52 comment=bb8a5182e634ef9690234b39c8bb972ad92f5039
jasypt-jasypt-1.9.3/ 0000775 0000000 0000000 00000000000 13606675757 0014374 5 ustar 00root root 0000000 0000000 jasypt-jasypt-1.9.3/CONTRIBUTING.md 0000664 0000000 0000000 00000034572 13606675757 0016640 0 ustar 00root root 0000000 0000000 Contributing to Jasypt: Terms and Conditions
===============================================
------------------------------------------------------------------------------
Do you want to contribute your work to Jasypt? Well, then first and most important: **THANK YOU!**
Now, in order to accept your contribution, there are some terms you must expressly agree with, so please
read them carefully. They may seem a bit cumbersome but they are there to protect you, your contribution,
and most importantly, the project's future.
**Important**: submitting any contributions to the Jasypt project implies your **full acceptance of these terms**,
including the *"Jasypt Individual Contributor License Agreement"* detailed at the end of this document.
Who can contribute?
-------------------
Anyone, with the unique condition that he/she must be a **private individual**, acting in
his/her own name, and not being endorsed in their contributed work by any company or government.
Note that this condition will not only refer to the ownership of the effort invested in contributing
to the project, but also to the fact that *no private or public company will be mentioned as a part
of your contribution on the project's website or code*, including but not limited to web/email addresses
or package names.
What is the first step to be taken?
-----------------------------------
First of all, **talk to the [project members](http://www.jasypt.org/team.html)** (an email should do) about
your ideas: new features, fixes, documentation... whatever you would like to contribute to the project. Let us
discuss the possibilities with you so that we make sure your contribution goes in the right direction and aligns
with the project's standards, intentions and roadmap.
How will your involvement with the Jasypt project work?
----------------------------------------------------------
All contributions are submitted in the form of GitHub *pull requests*. Note that contributors do not
have read+write (or *pull+push*) access to the project repositories, only project *members* do.
Also, please understand that *not all pull requests will be accepted and merged into the project's
repositories*. Talk about your planned contributions with the project members before creating pull
requests so you can maximize the possibility of your contributions being accepted.
Once your contribution is approved, you will be listed as a *contributor* on the
[Jasypt Team page](http://www.jasypt.org/team.html). You can opt-out of this if you want.
Also, you will be `@author` for any new Java classes that you write and also co-`@author` of any
existing classes to which you make significant changes. You can also opt-out of this if you want.
About the code you contribute
-----------------------------
### General guidelines:
- Obviously, **your code must both compile and work correctly**. Also, the addition of any new patches to the
codebase should not render it unstable in any way.
- All your code should be easy to read and understand by a human.
- There should be no compilation warnings at all.
### Detailed Java code quality standards:
- All your code should compile and run in **Java 6.0**.
- All comments, names of classes and variables, log messages, etc. must be **in English**.
- All `.java` files must include the standard Jasypt copyright header.
- All your code should follow the Java Code Conventions regarding variable/method/class naming.
- Maximum line length is 120 characters.
- Indentation should be made with 4 spaces, not tabs.
- Line feeds should be UNIX-like (`\n`).
- All `.java` source files should be pure ASCII. All `.properties` files should be ISO-8859-1.
- Number autoboxing and/or autounboxing is forbidden.
- Every class should define a constructor, even if it is the no-argument constructor, and include a call to `super()`.
- All method parameters should be declared as `final` so that they cannot be changed or reassigned in the method.
- All non-nullable parameters in a public method should be first validated with a `Validate.notNull(...)` call.
This maintains consistency in the behavior of public methods and the error message used.
- Include a block comment (`/* ... */`) for any non-trivial algorithm you develop. *"Non-trivial"* usually means you
had to make some design decisions to do things in a certain way. Your comment should explain *why* you wrote the
code the way you wrote it. Do not write obvious comments that explain what the code does; the code should be clear
and expressive enough so the *what* and *how* of it is obvious.
- All public methods and classes directly available to users should have comprehensive JavaDoc comments.
### Detailed HTML/XML code quality standards:
- All tags, CSS styles, file names, etc. must be **in English**.
- Lower case should be preferred for HTML/XML artifacts. The only exceptions are `DOCTYPE` and `CDATA` clauses.
- All HTML code should be XML-valid (i.e. all tags should be closed, attributes surrounded by commas, etc.)
- Maximum line length is 120 characters.
- Indentation should be made with 4 spaces, not tabs.
- Line feeds should be UNIX-like (`\n`).
- All `.html` and `.xml` source files should be pure ASCII, even if _content-type_ is set to a different encoding.
- All XHTML self-closing (minimized) tags should have a space before `/>` (the XHTML standards say so!).
- All inline scripts must be enclosed inside a commented `` block.
About the documentation/articles you contribute
-----------------------------------------------
Note the following only applies to documentation/articles meant to be published at the Jasypt website.
- All documentation artifacts, including articles, must be written **in correct English**.
- Your name and email will be displayed as *"author"* of any documentation artifacts you create.
- Topic and text structure must be first discussed and agreed upon with the project members.
- Project members may edit and make small changes to your texts—of which you will be informed—before
publishing them.
- Format and visual styles must adhere to the Jasypt website standards, of which you will be informed
by the project members.
Pay special attention to this
-----------------------------
All Jasypt software is distributed under the **Apache License 2.0** open source license; your contributions
will be licensed in the same way.
If you work for a company which, by the way or place in which your code was written, by your contract terms
or by the laws in your country, could claim any rights (including but not limited to intellectual or industrial
property) over your contributed code, you will have to send the project members (either by email from your
authorised superiors or by signed fax), a statement indicating that your company agrees with the terms
explained in this page, and that it both authorises your contribution to Jasypt and states that it will
never claim any kind of rights over it.
Jasypt Individual Contributor License Agreement
--------------------------------------------------
This contributor agreement ("Agreement") documents the rights granted by contributors to the Jasypt Project.
This is a legally binding document, so please read it carefully before agreeing to it. The Agreement
may cover more than one software project managed by Jasypt.
### 1. Definitions
* _"Jasypt"_ means the "Jasypt Project organization and members".
* _"You"_ means the individual who submits a Contribution to Jasypt.
* _"Contribution"_ means any work of authorship that is submitted by you to Jasypt in which you own
or assert ownership of the Copyright.
* _"Copyright"_ means all rights protecting works of authorship owned or controlled by you,
including copyright, moral and neighboring rights, as appropriate, for the full term of their
existence including any extensions by you.
* _"Material"_ means the work of authorship which is made available by Jasypt to third parties. When
this Agreement covers more than one software project, the Material means the work of authorship
to which the Contribution was submitted. After you submit the Contribution, it may be included
in the Material.
* _"Submit"_ means any form of electronic, verbal, or written communication sent to Jasypt or its
representatives, including but not limited to electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, Jasypt for the purpose of discussing
and improving the Material, but excluding communication that is conspicuously marked or
otherwise designated in writing by you as _"Not a Contribution."_
* _"Submission Date"_ means the date on which you submit a Contribution to Jasypt.
* _"Effective Date"_ means the date you execute this agreement or the date You first submit a
Contribution to Jasypt, whichever is earlier.
### 2. Grant of Rights
#### 2.1. Copyright License
* (a) You retain ownership of the copyright in your Contribution and have the same rights to use or
license the Contribution which you would have had without entering into the agreement.
* (b) To the maximum extent permitted by the relevant law, you grant to Jasypt a perpetual, worldwide,
non-exclusive, transferable, royalty-free, irrevocable license under the copyright covering the
Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to
reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided
that this license is conditioned upon compliance with Section 2.3.
#### 2.2 Patent License
For patent claims including, without limitation, method, process, and apparatus claims which you
own, control or have the right to grant, now or in the future, you grant to Jasypt a perpetual, worldwide,
non-exclusive, transferable, royalty-free, irrevocable patent license, with the right to sublicense these
rights to multiple tiers of sublicensees, to make, have made, use, sell, offer for sale, import and
otherwise transfer the Contribution and the Contribution in combination with the Material (and
portions of such combination). This license is granted only to the extent that the exercise of the
licensed rights infringes such patent claims; and provided that this license is conditioned upon
compliance with Section 2.3.
#### 2.3 Outbound License
As a condition on the grant of rights in Sections 2.1 and 2.2, Jasypt agrees to license the Contribution only
under the terms of the Apache License 2.0 (including any right to adopt any future version of this license if
permitted).
#### 2.4 Moral Rights
If moral rights apply to the Contribution, to the maximum extent permitted by law, you waive and agree not
to assert such moral rights against Jasypt or its successors in interest, or any of our licensees, either
direct or indirect.
#### 2.5 Jasypt Rights
You acknowledge that Jasypt is not obligated to use your Contribution as part of the
Material and may decide to include any Contributions Jasypt considers appropriate.
#### 2.6 Reservation of Rights
Any rights not expressly assigned or licensed under this section are expressly reserved by you.
### 3. Agreement
You confirm that:
* (a) You have the legal authority to enter into this Agreement.
* (b) You own the Copyright and patent claims covering the Contribution which are required to grant
the rights under Section 2.
* (c) The grant of rights under Section 2 does not violate any grant of rights which you have made to
third parties, including your employer. If you are an employee, you have had your employer approve
this Agreement. If you are less than eighteen years old, please have your parents or guardian
sign the Agreement.
### 4. Disclaimer
EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED "AS IS". MORE PARTICULARLY,
ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO JASYPT AND BY
JASYPT TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN
DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.
### 5. Consequential Damage Waiver
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR JASYPT BE LIABLE FOR ANY LOSS OF
PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY
DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE)
UPON WHICH THE CLAIM IS BASED.
### 6. Miscellaneous
* 6.1 This Agreement will be governed by and construed in accordance with the laws of Spain excluding its
conflicts of law provisions. Under certain circumstances, the governing law in this section might be
superseded by the United Nations Convention on Contracts for the International Sale of Goods ("UN
Convention") and the parties intend to avoid the application of the UN Convention to this Agreement
and, thus, exclude the application of the UN Convention in its entirety to this Agreement.
* 6.2 This Agreement sets out the entire agreement between you and Jasypt for your Contributions to Jasypt
and overrides all other agreements or understandings.
* 6.3 If You or Jasypt assign the rights or obligations received through this Agreement to a third party, as a
condition of the assignment, that third party must agree in writing to abide by all the rights and
obligations in the Agreement.
* 6.4 The failure of either party to require performance by the other party of any provision of this
Agreement in one situation shall not affect the right of a party to require such performance at any time
in the future. A waiver of performance under a provision in one situation shall not be considered a
waiver of the performance of the provision in the future or a waiver of the provision in its entirety.
* 6.5 If any provision of this Agreement is found void and unenforceable, such provision will be
replaced to the extent possible with a provision that comes closest to the meaning of the original
provision and which is enforceable. The terms and conditions set forth in this Agreement shall apply
notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the
maximum extent possible under law.
jasypt-jasypt-1.9.3/LICENSE 0000664 0000000 0000000 00000026135 13606675757 0015410 0 ustar 00root root 0000000 0000000 Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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.
jasypt-jasypt-1.9.3/README.md 0000664 0000000 0000000 00000001004 13606675757 0015646 0 ustar 00root root 0000000 0000000 JASYPT: Java Simplified Encryption
----------------------------------
Jasypt (Java Simplified Encryption) is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort and without the need of having deep knowledge on how cryptography works.
- Learn more: [http://www.jasypt.org](http://www.jasypt.org)
- Download distributable: [jasypt 1.9.3 (binaries and javadocs)](https://github.com/jasypt/jasypt/releases/download/jasypt-1.9.3/jasypt-1.9.3-dist.zip)
jasypt-jasypt-1.9.3/jasypt-acegisecurity/ 0000775 0000000 0000000 00000000000 13606675757 0020544 5 ustar 00root root 0000000 0000000 jasypt-jasypt-1.9.3/jasypt-acegisecurity/.gitignore 0000664 0000000 0000000 00000000072 13606675757 0022533 0 ustar 00root root 0000000 0000000 .classpath
.project
target/
bin/
.settings/
.idea/
*.iml
jasypt-jasypt-1.9.3/jasypt-acegisecurity/BUILD.txt 0000664 0000000 0000000 00000001552 13606675757 0022147 0 ustar 00root root 0000000 0000000
Building JASYPT-ACEGISECURITY
-----------------------------
To build JASYPT-ACEGISECURITY you will need Maven 2. You can get it at:
http://maven.apache.org
Build and install the project executing, from the JASYPT-ACEGISECURITY
project root folder:
mvn clean:clean install
And you will get a fresh target/jasypt-acegisecurity-{version}.jar file.
You will also get it installed in your local repository at:
$M2_REPO/org/jasypt/jasypt-acegisecurity/{version}/jasypt-acegisecurity-{version}.jar
Generating Javadoc for JASYPT-ACEGISECURITY
-------------------------------------------
If you wish to generate the javadoc for JASYPT-ACEGISECURITY, execute this
from the JASYPT-ACEGISECURITY root folder:
mvn javadoc:javadoc
This will generate the javadoc documentation in HTML format in:
target/site/apidocs
jasypt-jasypt-1.9.3/jasypt-acegisecurity/ChangeLog.txt 0000664 0000000 0000000 00000000561 13606675757 0023136 0 ustar 00root root 0000000 0000000 1.9.3
=====
- Deprecated in 1.9.3. This module will be removed in 2.0.0.
1.9.2
=====
(no changes)
1.9.1
=====
(no changes)
1.9.0
=====
- Extracted jasypt-acegisecurity package from previous monolithic jasypt module.
- Renamed org.jasypt.spring.security2 package as
org.jasypt.springsecurity2.providers.encoding, and deprecated the classes in the old package.
jasypt-jasypt-1.9.3/jasypt-acegisecurity/LICENSE.txt 0000664 0000000 0000000 00000026136 13606675757 0022377 0 ustar 00root root 0000000 0000000
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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.
jasypt-jasypt-1.9.3/jasypt-acegisecurity/NOTICE.txt 0000664 0000000 0000000 00000007267 13606675757 0022302 0 ustar 00root root 0000000 0000000
Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org)
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.
---------------------------------
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 http://www.wassenaar.org/ for more
information.
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 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.
The following provides more details on the cryptographic software
used (note that this software is not included in the distribution):
* The PBE Encryption facilities require the Java Cryptography
extensions: http://java.sun.com/javase/technologies/security/.
---------------------------------
Distributions of this software may include software developed by
The Apache Software Foundation (http://www.apache.org/).
---------------------------------
ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1995-2006 International Business Machines
Corporation and others
All rights reserved.
Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish,
distribute, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so,
provided that the above copyright notice(s) and this
permission notice appear in all copies of the Software and
that both the above copyright notice(s) and this
permission notice appear in supporting documentation.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO
EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR PERFORMANCE OF THIS SOFTWARE.
Except as contained in this notice, the name of a copyright
holder shall not be used in advertising or otherwise to
promote the sale, use or other dealings in this Software
without prior written authorization of the copyright holder.
jasypt-jasypt-1.9.3/jasypt-acegisecurity/README.txt 0000664 0000000 0000000 00000000611 13606675757 0022240 0 ustar 00root root 0000000 0000000
JASYPT: Java Simplified Encryption
----------------------------------
Jasypt (Java Simplified Encryption) is a java library which allows the
developer to add basic encryption capabilities to his/her projects with
minimum effort, and without the need of having deep knowledge on how
cryptography works.
To learn more and download latest version:
http://www.jasypt.org
jasypt-jasypt-1.9.3/jasypt-acegisecurity/RELEASING.txt 0000664 0000000 0000000 00000002306 13606675757 0022617 0 ustar 00root root 0000000 0000000 In order to prepare a release, this steps have to be taken:
1. In settings.xml, these entries must exist:
* This class implements the Spring Security (ACEGI) * org.acegisecurity.providers.encoding.PasswordEncoder * interface, allowing Spring Security-enabled applications to use JASYPT * for password encryption. *
** Important: This class allows bi-directional password-based encryption * of user passwords * in ACEGI using Jasypt. But please note that passwords should not be * encrypted in a bi-directional way, but instead as uni-directional * digests (hashes). Encrypting passwords in a way they can be decrypted * can be a severe security issue, and should only be considered in legacy * or complex inter-application integration scenarios. *
** Objects of this class will internally hold either an object of type * org.jasypt.util.text.TextEncryptor or an object of type * org.jasypt.encryption.pbe.PBEStringEncryptor (only one of them), * which should be set by respectively calling * {@link #setTextEncryptor(TextEncryptor)} or * {@link #setPbeStringEncryptor(PBEStringEncryptor)} * after creation. If neither a TextEncryptor nor * a PBEStringEncryptor are set, a new * org.jasypt.util.text.BasicTextEncryptor object is * created and internally used. *
** Important: This implementation ignores any salt provided through * the interface methods, as the internal Jasypt * TextEncryptor or PBEStringEncryptor objects normally use a * random one. This means that salt can be safely passed as * null. *
** Usage with a TextEncryptor *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the TextEncryptor in several places, --> * <!-- like for example at new user sign-up. --> * <bean id="jasyptTextEncryptor" class="org.jasypt.util.text.StrongTextEncryptor" > * <property name="password" value="myPassword" /> * </bean> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the TextEncryptor instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PBEPasswordEncoder"> * <property name="textEncryptor"> * <ref bean="jasyptTextEncryptor" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* Usage with a PBEStringEncryptor *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the PBEStringEncryptor in several places,--> * <!-- like for example at new user sign-up. --> * <bean id="jasyptPBEStringEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor" > * <property name="algorithm" value="PBEWithMD5AndTripleDES" /> * <property name="password" value="myPassword" /> * </bean> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the PBEStringEncryptor instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PBEPasswordEncoder"> * <property name="pbeStringEncryptor"> * <ref bean="jasyptPBEStringEncryptor" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* This class is thread-safe *
* * @since 1.9.0 (existed as org.jasypt.spring.security.PBEPasswordEncoder since 1.4) * * @author Daniel Fernández * * @deprecated Deprecated in 1.9.3. This class will be removed in 2.0.0. * */ public final class PBEPasswordEncoder implements org.acegisecurity.providers.encoding.PasswordEncoder { // The text encryptor or PBE string encryptor to be internally used private TextEncryptor textEncryptor = null; private PBEStringEncryptor pbeStringEncryptor = null; private Boolean useTextEncryptor = null; /** * Creates a new instance of PBEPasswordEncoder */ public PBEPasswordEncoder() { super(); } /** * Sets a text encryptor to be used. Only one of * setTextEncryptor or setPBEStringEncryptor should be * called. If both are, the last call will define which method will be * used. * * @param textEncryptor the text encryptor instance to be used. */ public void setTextEncryptor(final TextEncryptor textEncryptor) { this.textEncryptor = textEncryptor; this.useTextEncryptor = Boolean.TRUE; } /** * Sets a string digester to be used. Only one of * setTextEncryptor or setPBEStringEncryptor should be * called. If both are, the last call will define which method will be * used. * * @param pbeStringEncryptor the PBE string encryptor instance to be used. */ public void setPbeStringEncryptor(final PBEStringEncryptor pbeStringEncryptor) { this.pbeStringEncryptor = pbeStringEncryptor; this.useTextEncryptor = Boolean.FALSE; } /** * Encodes a password. This implementation completely ignores salt, * as jasypt's TextEncryptor and PBEStringEncryptor * normally use a random one. Thus, it can be safely passed as null. * * @param rawPass The password to be encoded. * @param salt The salt, which will be ignored. It can be null. */ public String encodePassword(final String rawPass, final Object salt) { checkInitialization(); if (this.useTextEncryptor.booleanValue()) { return this.textEncryptor.encrypt(rawPass); } return this.pbeStringEncryptor.encrypt(rawPass); } /** * Checks a password's validity. This implementation completely ignores * salt, as jasypt's TextEncryptor and PBEStringEncryptor * normally use a random one. Thus, it can be safely passed as null. * * @param encPass The encrypted password against which to check. * @param rawPass The password to be checked. * @param salt The salt, which will be ignored. It can be null. */ public boolean isPasswordValid(final String encPass, final String rawPass, final Object salt) { checkInitialization(); String decPassword = null; if (this.useTextEncryptor.booleanValue()) { decPassword = this.textEncryptor.decrypt(encPass); } else { decPassword = this.pbeStringEncryptor.decrypt(encPass); } if ((decPassword == null) || (rawPass == null)) { return (decPassword == rawPass); } return decPassword.equals(rawPass); } /* * Checks that the PasswordEncoder has been correctly initialized * (either a text encryptor or a PBE string encryptor has been set). */ private synchronized void checkInitialization() { if (this.useTextEncryptor == null) { this.textEncryptor = new BasicTextEncryptor(); this.useTextEncryptor = Boolean.TRUE; } else { if (this.useTextEncryptor.booleanValue()) { if (this.textEncryptor == null) { throw new EncryptionInitializationException( "PBE Password encoder not initialized: text " + "encryptor is null"); } } else { if (this.pbeStringEncryptor == null) { throw new EncryptionInitializationException( "PBE Password encoder not initialized: PBE " + "string encryptor is null"); } } } } } jasypt-jasypt-1.9.3/jasypt-acegisecurity/src/main/java/org/jasypt/acegisecurity/PasswordEncoder.java0000664 0000000 0000000 00000022205 13606675757 0034107 0 ustar 00root root 0000000 0000000 /* * ============================================================================= * * Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org) * * 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. * * ============================================================================= */ package org.jasypt.acegisecurity; import org.jasypt.digest.StringDigester; import org.jasypt.exceptions.EncryptionInitializationException; import org.jasypt.util.password.BasicPasswordEncryptor; import org.jasypt.util.password.PasswordEncryptor; /** ** This class implements the Spring Security (ACEGI) * org.acegisecurity.providers.encoding.PasswordEncoder * interface, allowing Spring Security-enabled applications to use JASYPT * for password encryption. *
** Objects of this class will internally hold either an object of type * org.jasypt.util.password.PasswordEncryptor or an object of type * org.jasypt.digest.StringDigester (only one of them), * which should be set by respectively calling * {@link #setPasswordEncryptor(PasswordEncryptor)} or * {@link #setStringDigester(StringDigester)} * after creation. If neither a PasswordEncryptor nor * a StringDigester are set, a new * org.jasypt.util.password.BasicPasswordEncryptor object is * created and internally used. *
** Important: This implementation ignores any salt provided through * the interface methods, as the internal Jasypt * PasswordEncryptor or StringDigester objects normally use a * random one. This means that salt can be safely passed as * null. *
** Usage with a PasswordEncryptor *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the PasswordEncryptor in several places, --> * <!-- like for example at new user sign-up. --> * <bean id="jasyptPasswordEncryptor" class="org.jasypt.util.password.StrongPasswordEncryptor" /> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the PasswordEncryptor instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PasswordEncoder"> * <property name="passwordEncryptor"> * <ref bean="jasyptPasswordEncryptor" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* Usage with a StringDigester *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the StringDigester in several places, --> * <!-- like for example at new user sign-up. --> * <bean id="jasyptStringDigester" class="org.jasypt.digest.StandardStringDigester" > * <property name="algorithm" value="SHA-1" /> * <property name="iterations" value="100000" /> * </bean> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the StringDigester instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PasswordEncoder"> * <property name="stringDigester"> * <ref bean="jasyptStringDigester" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* This class is thread-safe *
* * @since 1.9.0 (existed as org.jasypt.spring.security.PasswordEncoder since 1.4) * * @author Daniel Fernández * * @deprecated Deprecated in 1.9.3. This class will be removed in 2.0.0. * */ public final class PasswordEncoder implements org.acegisecurity.providers.encoding.PasswordEncoder { // The password encryptor or string digester to be internally used private PasswordEncryptor passwordEncryptor = null; private StringDigester stringDigester = null; private Boolean useEncryptor = null; /** * Creates a new instance of PasswordEncoder */ public PasswordEncoder() { super(); } /** * Sets a password encryptor to be used. Only one of * setPasswordEncryptor or setStringDigester should be * called. If both are, the last call will define which method will be * used. * * @param passwordEncryptor the password encryptor instance to be used. */ public void setPasswordEncryptor(final PasswordEncryptor passwordEncryptor) { this.passwordEncryptor = passwordEncryptor; this.useEncryptor = Boolean.TRUE; } /** * Sets a string digester to be used. Only one of * setPasswordEncryptor or setStringDigester should be * called. If both are, the last call will define which method will be * used. * * @param stringDigester the string digester instance to be used. */ public void setStringDigester(final StringDigester stringDigester) { this.stringDigester = stringDigester; this.useEncryptor = Boolean.FALSE; } /** * Encodes a password. This implementation completely ignores salt, * as jasypt's PasswordEncryptor and StringDigester * normally use a random one. Thus, it can be safely passed as null. * * @param rawPass The password to be encoded. * @param salt The salt, which will be ignored. It can be null. */ public String encodePassword(final String rawPass, final Object salt) { checkInitialization(); if (this.useEncryptor.booleanValue()) { return this.passwordEncryptor.encryptPassword(rawPass); } return this.stringDigester.digest(rawPass); } /** * Checks a password's validity. This implementation completely ignores * salt, as jasypt's PasswordEncryptor and StringDigester * normally use a random one. Thus, it can be safely passed as null. * * @param encPass The encrypted password (digest) against which to check. * @param rawPass The password to be checked. * @param salt The salt, which will be ignored. It can be null. */ public boolean isPasswordValid(final String encPass, final String rawPass, final Object salt) { checkInitialization(); if (this.useEncryptor.booleanValue()) { return this.passwordEncryptor.checkPassword(rawPass, encPass); } return this.stringDigester.matches(rawPass, encPass); } /* * Checks that the PasswordEncoder has been correctly initialized * (either a password encryptor or a string digester has been set). */ private synchronized void checkInitialization() { if (this.useEncryptor == null) { this.passwordEncryptor = new BasicPasswordEncryptor(); this.useEncryptor = Boolean.TRUE; } else { if (this.useEncryptor.booleanValue()) { if (this.passwordEncryptor == null) { throw new EncryptionInitializationException( "Password encoder not initialized: password " + "encryptor is null"); } } else { if (this.stringDigester == null) { throw new EncryptionInitializationException( "Password encoder not initialized: string " + "digester is null"); } } } } } jasypt-jasypt-1.9.3/jasypt-acegisecurity/src/main/java/org/jasypt/spring/ 0000775 0000000 0000000 00000000000 13606675757 0026603 5 ustar 00root root 0000000 0000000 jasypt-jasypt-1.9.3/jasypt-acegisecurity/src/main/java/org/jasypt/spring/security/ 0000775 0000000 0000000 00000000000 13606675757 0030452 5 ustar 00root root 0000000 0000000 PBEPasswordEncoder.java 0000664 0000000 0000000 00000023756 13606675757 0034704 0 ustar 00root root 0000000 0000000 jasypt-jasypt-1.9.3/jasypt-acegisecurity/src/main/java/org/jasypt/spring/security /* * ============================================================================= * * Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org) * * 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. * * ============================================================================= */ package org.jasypt.spring.security; import org.jasypt.encryption.pbe.PBEStringEncryptor; import org.jasypt.exceptions.EncryptionInitializationException; import org.jasypt.util.text.BasicTextEncryptor; import org.jasypt.util.text.TextEncryptor; /** ** This class implements the Spring Security (ACEGI) * org.acegisecurity.providers.encoding.PasswordEncoder * interface, allowing Spring Security-enabled applications to use JASYPT * for password encryption. *
** Important: This class allows bi-directional password-based encryption * of user passwords * in ACEGI using Jasypt. But please note that passwords should not be * encrypted in a bi-directional way, but instead as uni-directional * digests (hashes). Encrypting passwords in a way they can be decrypted * can be a severe security issue, and should only be considered in legacy * or complex inter-application integration scenarios. *
** Objects of this class will internally hold either an object of type * org.jasypt.util.text.TextEncryptor or an object of type * org.jasypt.encryption.pbe.PBEStringEncryptor (only one of them), * which should be set by respectively calling * {@link #setTextEncryptor(TextEncryptor)} or * {@link #setPbeStringEncryptor(PBEStringEncryptor)} * after creation. If neither a TextEncryptor nor * a PBEStringEncryptor are set, a new * org.jasypt.util.text.BasicTextEncryptor object is * created and internally used. *
** Important: This implementation ignores any salt provided through * the interface methods, as the internal Jasypt * TextEncryptor or PBEStringEncryptor objects normally use a * random one. This means that salt can be safely passed as * null. *
** Usage with a TextEncryptor *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the TextEncryptor in several places, --> * <!-- like for example at new user sign-up. --> * <bean id="jasyptTextEncryptor" class="org.jasypt.util.text.StrongTextEncryptor" > * <property name="password" value="myPassword" /> * </bean> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the TextEncryptor instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PBEPasswordEncoder"> * <property name="textEncryptor"> * <ref bean="jasyptTextEncryptor" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* Usage with a PBEStringEncryptor *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the PBEStringEncryptor in several places,--> * <!-- like for example at new user sign-up. --> * <bean id="jasyptPBEStringEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor" > * <property name="algorithm" value="PBEWithMD5AndTripleDES" /> * <property name="password" value="myPassword" /> * </bean> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the PBEStringEncryptor instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PBEPasswordEncoder"> * <property name="pbeStringEncryptor"> * <ref bean="jasyptPBEStringEncryptor" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* This class is thread-safe *
* * @since 1.4 (existed since 1.2 as * org.jasypt.springsecurity.PasswordEncoder) * * @deprecated Renamed as org.jasypt.acegisecurity.PBEPasswordEncoder. * Class will be removed from this package in 1.11. * * @author Daniel Fernández * */ public final class PBEPasswordEncoder implements org.acegisecurity.providers.encoding.PasswordEncoder { // The text encryptor or PBE string encryptor to be internally used private TextEncryptor textEncryptor = null; private PBEStringEncryptor pbeStringEncryptor = null; private Boolean useTextEncryptor = null; /** * Creates a new instance of PBEPasswordEncoder */ public PBEPasswordEncoder() { super(); } /** * Sets a text encryptor to be used. Only one of * setTextEncryptor or setPBEStringEncryptor should be * called. If both are, the last call will define which method will be * used. * * @param textEncryptor the text encryptor instance to be used. */ public void setTextEncryptor(final TextEncryptor textEncryptor) { this.textEncryptor = textEncryptor; this.useTextEncryptor = Boolean.TRUE; } /** * Sets a string digester to be used. Only one of * setTextEncryptor or setPBEStringEncryptor should be * called. If both are, the last call will define which method will be * used. * * @param pbeStringEncryptor the PBE string encryptor instance to be used. */ public void setPbeStringEncryptor(final PBEStringEncryptor pbeStringEncryptor) { this.pbeStringEncryptor = pbeStringEncryptor; this.useTextEncryptor = Boolean.FALSE; } /** * Encodes a password. This implementation completely ignores salt, * as jasypt's TextEncryptor and PBEStringEncryptor * normally use a random one. Thus, it can be safely passed as null. * * @param rawPass The password to be encoded. * @param salt The salt, which will be ignored. It can be null. */ public String encodePassword(final String rawPass, final Object salt) { checkInitialization(); if (this.useTextEncryptor.booleanValue()) { return this.textEncryptor.encrypt(rawPass); } return this.pbeStringEncryptor.encrypt(rawPass); } /** * Checks a password's validity. This implementation completely ignores * salt, as jasypt's TextEncryptor and PBEStringEncryptor * normally use a random one. Thus, it can be safely passed as null. * * @param encPass The encrypted password against which to check. * @param rawPass The password to be checked. * @param salt The salt, which will be ignored. It can be null. */ public boolean isPasswordValid(final String encPass, final String rawPass, final Object salt) { checkInitialization(); String decPassword = null; if (this.useTextEncryptor.booleanValue()) { decPassword = this.textEncryptor.decrypt(encPass); } else { decPassword = this.pbeStringEncryptor.decrypt(encPass); } if ((decPassword == null) || (rawPass == null)) { return (decPassword == rawPass); } return decPassword.equals(rawPass); } /* * Checks that the PasswordEncoder has been correctly initialized * (either a text encryptor or a PBE string encryptor has been set). */ private synchronized void checkInitialization() { if (this.useTextEncryptor == null) { this.textEncryptor = new BasicTextEncryptor(); this.useTextEncryptor = Boolean.TRUE; } else { if (this.useTextEncryptor.booleanValue()) { if (this.textEncryptor == null) { throw new EncryptionInitializationException( "PBE Password encoder not initialized: text " + "encryptor is null"); } } else { if (this.pbeStringEncryptor == null) { throw new EncryptionInitializationException( "PBE Password encoder not initialized: PBE " + "string encryptor is null"); } } } } } PasswordEncoder.java 0000664 0000000 0000000 00000022330 13606675757 0034340 0 ustar 00root root 0000000 0000000 jasypt-jasypt-1.9.3/jasypt-acegisecurity/src/main/java/org/jasypt/spring/security /* * ============================================================================= * * Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org) * * 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. * * ============================================================================= */ package org.jasypt.spring.security; import org.jasypt.digest.StringDigester; import org.jasypt.exceptions.EncryptionInitializationException; import org.jasypt.util.password.BasicPasswordEncryptor; import org.jasypt.util.password.PasswordEncryptor; /** ** This class implements the Spring Security (ACEGI) * org.acegisecurity.providers.encoding.PasswordEncoder * interface, allowing Spring Security-enabled applications to use JASYPT * for password encryption. *
** Objects of this class will internally hold either an object of type * org.jasypt.util.password.PasswordEncryptor or an object of type * org.jasypt.digest.StringDigester (only one of them), * which should be set by respectively calling * {@link #setPasswordEncryptor(PasswordEncryptor)} or * {@link #setStringDigester(StringDigester)} * after creation. If neither a PasswordEncryptor nor * a StringDigester are set, a new * org.jasypt.util.password.BasicPasswordEncryptor object is * created and internally used. *
** Important: This implementation ignores any salt provided through * the interface methods, as the internal Jasypt * PasswordEncryptor or StringDigester objects normally use a * random one. This means that salt can be safely passed as * null. *
** Usage with a PasswordEncryptor *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the PasswordEncryptor in several places, --> * <!-- like for example at new user sign-up. --> * <bean id="jasyptPasswordEncryptor" class="org.jasypt.util.password.StrongPasswordEncryptor" /> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the PasswordEncryptor instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PasswordEncoder"> * <property name="passwordEncryptor"> * <ref bean="jasyptPasswordEncryptor" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* Usage with a StringDigester *
** This class can be used like this from your Spring XML resource files: *
** ... * <!-- Your application may use the StringDigester in several places, --> * <!-- like for example at new user sign-up. --> * <bean id="jasyptStringDigester" class="org.jasypt.digest.StandardStringDigester" > * <property name="algorithm" value="SHA-1" /> * <property name="iterations" value="100000" /> * </bean> * ... * ... * <!-- This Spring Security-friendly PasswordEncoder implementation will --> * <!-- wrap the StringDigester instance so that it can be used from --> * <!-- the security framework. --> * <bean id="passwordEncoder" class="org.jasypt.spring.security.PasswordEncoder"> * <property name="stringDigester"> * <ref bean="jasyptStringDigester" /> * </property> * </bean> * ... * ... * <!-- Your DaoAuthenticationProvider will then use it like with any --> * <!-- other implementation of the PasswordEncoder interface. --> * <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> * <property name="userDetailsService" ref="userDetailsService"/> * <property name="passwordEncoder"> * <ref bean="passwordEncoder" /> * </property> * </bean> * ... **
* This class is thread-safe *
* * @since 1.4 (existed since 1.2 as * org.jasypt.springsecurity.PasswordEncoder) * * @deprecated Renamed as org.jasypt.acegisecurity.PasswordEncoder. * Class will be removed from this package in 1.11. * * @author Daniel Fernández * */ public final class PasswordEncoder implements org.acegisecurity.providers.encoding.PasswordEncoder { // The password encryptor or string digester to be internally used private PasswordEncryptor passwordEncryptor = null; private StringDigester stringDigester = null; private Boolean useEncryptor = null; /** * Creates a new instance of PasswordEncoder */ public PasswordEncoder() { super(); } /** * Sets a password encryptor to be used. Only one of * setPasswordEncryptor or setStringDigester should be * called. If both are, the last call will define which method will be * used. * * @param passwordEncryptor the password encryptor instance to be used. */ public void setPasswordEncryptor(final PasswordEncryptor passwordEncryptor) { this.passwordEncryptor = passwordEncryptor; this.useEncryptor = Boolean.TRUE; } /** * Sets a string digester to be used. Only one of * setPasswordEncryptor or setStringDigester should be * called. If both are, the last call will define which method will be * used. * * @param stringDigester the string digester instance to be used. */ public void setStringDigester(final StringDigester stringDigester) { this.stringDigester = stringDigester; this.useEncryptor = Boolean.FALSE; } /** * Encodes a password. This implementation completely ignores salt, * as jasypt's PasswordEncryptor and StringDigester * normally use a random one. Thus, it can be safely passed as null. * * @param rawPass The password to be encoded. * @param salt The salt, which will be ignored. It can be null. */ public String encodePassword(final String rawPass, final Object salt) { checkInitialization(); if (this.useEncryptor.booleanValue()) { return this.passwordEncryptor.encryptPassword(rawPass); } return this.stringDigester.digest(rawPass); } /** * Checks a password's validity. This implementation completely ignores * salt, as jasypt's PasswordEncryptor and StringDigester * normally use a random one. Thus, it can be safely passed as null. * * @param encPass The encrypted password (digest) against which to check. * @param rawPass The password to be checked. * @param salt The salt, which will be ignored. It can be null. */ public boolean isPasswordValid(final String encPass, final String rawPass, final Object salt) { checkInitialization(); if (this.useEncryptor.booleanValue()) { return this.passwordEncryptor.checkPassword(rawPass, encPass); } return this.stringDigester.matches(rawPass, encPass); } /* * Checks that the PasswordEncoder has been correctly initialized * (either a password encryptor or a string digester has been set). */ private synchronized void checkInitialization() { if (this.useEncryptor == null) { this.passwordEncryptor = new BasicPasswordEncryptor(); this.useEncryptor = Boolean.TRUE; } else { if (this.useEncryptor.booleanValue()) { if (this.passwordEncryptor == null) { throw new EncryptionInitializationException( "Password encoder not initialized: password " + "encryptor is null"); } } else { if (this.stringDigester == null) { throw new EncryptionInitializationException( "Password encoder not initialized: string " + "digester is null"); } } } } } jasypt-jasypt-1.9.3/jasypt-dist/ 0000775 0000000 0000000 00000000000 13606675757 0016647 5 ustar 00root root 0000000 0000000 jasypt-jasypt-1.9.3/jasypt-dist/.gitignore 0000664 0000000 0000000 00000000072 13606675757 0020636 0 ustar 00root root 0000000 0000000 .classpath .project target/ bin/ .settings/ .idea/ *.iml jasypt-jasypt-1.9.3/jasypt-dist/LICENSE.txt 0000664 0000000 0000000 00000026136 13606675757 0020502 0 ustar 00root root 0000000 0000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] 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. jasypt-jasypt-1.9.3/jasypt-dist/NOTICE.txt 0000664 0000000 0000000 00000007267 13606675757 0020405 0 ustar 00root root 0000000 0000000 Copyright (c) 2007-2010, The JASYPT team (http://www.jasypt.org) 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. --------------------------------- 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 http://www.wassenaar.org/ for more information. 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 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. The following provides more details on the cryptographic software used (note that this software is not included in the distribution): * The PBE Encryption facilities require the Java Cryptography extensions: http://java.sun.com/javase/technologies/security/. --------------------------------- Distributions of this software may include software developed by The Apache Software Foundation (http://www.apache.org/). --------------------------------- ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2006 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. jasypt-jasypt-1.9.3/jasypt-dist/README.txt 0000664 0000000 0000000 00000000611 13606675757 0020343 0 ustar 00root root 0000000 0000000 JASYPT: Java Simplified Encryption ---------------------------------- Jasypt (Java Simplified Encryption) is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works. To learn more and download latest version: http://www.jasypt.org jasypt-jasypt-1.9.3/jasypt-dist/pom.xml 0000664 0000000 0000000 00000020714 13606675757 0020170 0 ustar 00root root 0000000 0000000