Category:Java

= Main = {| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 * valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |

About
The OWASP Java™ and JVM Technology Knowledge Base is the clearing house for all information related to building secure web/distributed applications and services based on Java and JVM technologies. The focus of these pages is on guidance for developers and architects using Java frameworks and JVM based technologies for web application development, on OWASP components that use Java and on participation in OWASP projects that use Java and JVM technologies. Moreover, we aim to provide security related guidance for system administrators managing Java and JVM based applications and tools.

The project is not limited to Java. It aims to also address topics around the JVM in general.

Community content is key to security information. The project depends on content from developers throughout the Java and JVM ecosystem.

Purpose

 * Provide deep, rich guidance for Java developers in using the security features of Java and of Java frameworks.
 * Address security in relation to the Java Virtual Machine and derived technologies.
 * Guide system administrators in managing Java and JVM related components and applications.
 * Create guidance for use of OWASP components that are designed for use with Java or other JVM languages.
 * Focus on information about working with and on OWASP tools built using Java or other JVM technologies.
 * Provide a stream of security related information, like vulnerabilities and security patches, related to the Java and JVM universe.
 * Build an ecosystem allowing to all actors interested to discuss, share and learn.

Licensing
OWASP Java™ and JVM Technology Knowledge Base is free to use. It is licensed under the http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 license], so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Oracle® and Java™ are |registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

What's Hot!
See the "Tasks and Roadmap" tab for more information.

Wiki Pages Review Operation - 2015/2016


 * valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |



Meta
Last Update: //

Other Resources
Mailing List

GitHub (OWASP)

Related Projects

 * OWASP Project Repository
 * Languages Repository
 * .NET Project
 * Ruby
 * PHP
 * Perl
 * Python
 * JavaScript
 * C/C++
 * SQL, PL/SQL, DB Scripting
 * OWASP IoT Security
 * OWASP Mobile Security


 * }

= Related OWASP Projects =

General Documents
= Related 3rd Party Projects =

A list of third party (i.e. not part of Java SE or EE) security frameworks. This page contains a list of Java security libraries and frameworks and indicates which security features each library supports.

Enterprise

 * Apache Shiro is a Java security framework that performs authentication, authorization, cryptography, and session management.
 * Spring Security provides security services for Java EE-based enterprise software applications. Services include authentication, authorization and protection against attacks like session fixation, clickjacking and cross site request forgery.
 * HDIV A web application security framework that provides a number of functions.

Access Control (Authentication and Authorization)

 * OACC is an application security framework for Java designed for fine grained (object level) access control. OACC uses the abstraction of a resource for the application objects being secured. This key abstraction enables OACC to provide a rich API that includes grant, revoke and query capabilities for storing and managing the application's security relationships.
 * PicketLink provides authentication, single sign on, permission based access control and other security features.

Encryption

 * Keyczar is an open source cryptographic toolkit designed to make it easier and safer for developers to use cryptography in their applications. Keyczar supports authentication and encryption with both symmetric and asymmetric keys.
 * Bouncycastle is a lightweight Java cryptography API provider.
 * Jasypt 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.

XML Security

 * The Apache Santuario project is aimed at providing implementation of the primary security standards for XML: XML-Signature Syntax and Processing and XML Encryption Syntax and Processing.

Validation

 * Vlad stands for "validation". This projects indeed aims at offering a simple, high-level, extensible, generic validation framework that can easily be integrated into existing applications.
 * This OWASP article and code snippet proposes a way to protect a file upload feature against submission of files that may containing malicious code.

= Resources =

Mailing List
OWASP Java and JVM Technologies Mailing List

Code Repository
GitHub OWASP Global Repository

Related Project Resources
OWASP Project Repository

Languages Repository

.NET Project

Ruby Technology Knowledge Base

PHP Technology Knowledge Base

Perl Technology Knowledge Base

Python Technology Knowledge Base

JavaScript Technology Knowledge Base

C/C++ Technology Knowledge Base

SQL, PL/SQL and DB Scripting Technology Knowledge Base

OWASP IoT Security Project

OWASP Mobile Security Project

= Tasks and Roadmap =

Roadmap

 * Wiki Pages Review Operation - 2016 General review of all Java and JVM related pages in the wiki.
 * Build Java and JVM security related net resources guide
 * The OWASP Java and JVM Technology Knowledge Base is principally about creating deep, rich guidance for Java and JVM developers using all kind of security resources. The idea is to have an effort of building a internet resource guide for everything around the JVM universe. Information, blogs, articles, tools, test servers and more. Important however is that this list is seriously curated.
 * Concrete guideline for Java and JVM developers
 * Clear checklists, around various topics, language, servers and frameworks.

= Get involved =

The first step would be to establish contact with the project leaders and/or the entire team. This can be done using a direct and private message, or by joining the public mailing list to say hello.

When it comes to participating in project activities, everything depends on the time you are willing and able to invest. It is however very important to not jump into too many things at the beginning, later having to back out or to let unfinished things behind you. It is much better to start with small tasks, increasing intensity and investment over time.

Please also be patient with expecting the "merge" of your work into the existing project pages and code. As everywhere in live, trust has to be built-up.

The Java and JVM knowledge base has currently multiple tasks open, which can be found on the adequate section of this page. Not all tasks require a wiki account. Please take something you are interested in and start participating. Work load is not the only outcome when participating in open projects. You are getting a lot of things back: recognition, satisfaction, knowledge and contacts, sometime friends.

Sounds cool? Then jump in...

To get involved join the mailing list, follow this link: OWASP Java and JVM Mailing List

= Archives =

The previous version of this JAVA Project home page is archived here: OWASP Java Project Archive (8.2010)

'''IMPORTANT: all pages of these project are currently under review. A lot are outdated and are in the process of being removed or updated.''' The review effort is coordinated on this page: Wiki Pages Review Operation - 2015/2016.

(The pages in the "old" category "OWASP Java Project" have to be moved into the category "Java". Work is in progress).