This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "Category:OWASP Enterprise Security API"
m |
|||
Line 89: | Line 89: | ||
*[http://owasp-esapi-java.googlecode.com/files/ESAPI-1.4.4.zip ESAPI for Java 1.4.4 complete zip (JDK 1.4+)] | *[http://owasp-esapi-java.googlecode.com/files/ESAPI-1.4.4.zip ESAPI for Java 1.4.4 complete zip (JDK 1.4+)] | ||
− | *[http://owasp-esapi-java.googlecode.com/files/ESAPI-2.0- | + | *[http://owasp-esapi-java.googlecode.com/files/ESAPI-2.0-rc10.zip ESAPI for Java 2.0 rc10 complete zip (JDK 1.5+)] |
*{{#switchtablink:.NET|ESAPI for .NET}}<br> | *{{#switchtablink:.NET|ESAPI for .NET}}<br> | ||
*{{#switchtablink:Classic ASP|ESAPI for Classic ASP}}<br> | *{{#switchtablink:Classic ASP|ESAPI for Classic ASP}}<br> |
Revision as of 22:16, 18 November 2010
Home
ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security control library that makes it easier for programmers to write lower-risk applications. The ESAPI libraries are designed to make it easier for programmers to retrofit security into existing applications. The ESAPI libraries also serve as a solid foundation for new development. Allowing for language-specific differences, all OWASP ESAPI versions have the same basic design:
This project is licensed under the BSD license, which is very permissive and about as close to public domain as is possible. You can use or modify ESAPI however you want, even include it in commercial products. The following organizations are a few of the many organizations that are starting to adopt ESAPI to secure their web applications: American Express, Apache Foundation, Booz Allen Hamilton, Aspect Security, Foundstone(McAfee), The Hartford, Infinite Campus, Lockheed Martin, MITRE, Nationwide Insurance, U.S. Navy - SPAWAR, The World Bank, SANS Institute. Please let us know how your organization is using OWASP ESAPI. Include your name, organization's name, and brief description of how you are using it. The project lead can be reached here. The project maintainer can be reached here. |
Let's talk hereFurther development of ESAPI occurs through mailing list discussions and occasional workshops, and suggestions for improvement are welcome. For more information, please subscribe to one of the lists below. |
Got developer cycles?The ESAPI project is always on the lookout for volunteers who are interested in contributing developer cycles.
|
Related resources |
Downloads
|
Here's what I did with ESAPI
- I used ESAPI for Java with Google AppEngine. I used it for simple validation and encoding. --Jeff
- I used ESAPI for PHP with a custom web 2.0 corporate knowledge management application, made up of many open source and commercial applications integrated to work together. I added an organization- and application-specific "Adapter" control to wrap calls to the other ESAPI controls. --Mike
- I used ESAPI for Java’s "Logger" control to make it easier for a US Government customer to meet C&A requirements. --Dave
- I used ESAPI for Java to build a low risk web application that was over 250,000+ lines of code in size. --Jim
- I used ESAPI for Java's "Authenticator" to replace a spaghetti-like mechanism in a legacy financial services web application. In hindsight I should have used the application-specific "Adapter" pattern mentioned by Mike above. The organization also uses the ESAPI Encryptor as an interface to a hardware security module. --Roman
- I use ESAPI for Java to educate developers about application security principals at several of the world’s largest organizations. --Jim
Glossary
- adapter - There are optionally your own implementations for each security control. There may be application logic contained in these classes which may be developed by or for your organization. The logic may be organization-specific and/or application-specific. There may be proprietary information or logic contained in these classes which may be developed by or for your organization.
- built-in singleton design pattern - The "built-in" singleton design pattern refers to the replacement of security control reference implementations with your own implementations. ESAPI interfaces are otherwise left intact.
- codec - ESAPI encoder/decoder reference implementations.
- core - The ESAPI interfaces and reference implementations that are not intended to be replaced with enterprise-specific versions are called the ESAPI Core.
- exception - ESAPI exception reference implementations.
- extended factory design pattern - The "extended" factory design pattern refers to the addition of a new security control interface and corresponding implementation, which in turn calls ESAPI security control reference implementations and/or security control reference implementations that were replaced with your own implementations. The ESAPI locator class would be called in order to retrieve a singleton instance of your new security control, which in turn would call ESAPI security control reference implementations and/or security control reference implementations that were replaced with your own implementations.
- extended singleton design pattern - The "extended" singleton pattern refers to the replacement of security control reference implementations with your own implementations and the addition/modification/subtraction of corresponding security control interfaces.
- ES-enable (or ESAPI-enable) - Just as web applications and web services can be Public Key Infrastructure (PKI) enabled (PK-enabled) to perform for example certificate-based authentication, applications and services can be OWASP ESAPI-enabled (ES-enabled) to enable applications and services to protect themselves from attackers.
- filter - In ESAPI for Java, there is additionally an HTTP filter that can be called separately from the other controls.
- interfaces - There is a set of security control interfaces. There is no application logic contained in these interfaces. They define for example types of parameters that are passed to types of security controls. There is no proprietary information or logic contained in these interfaces.
- locator - The ESAPI security control interfaces include an "ESAPI" class that is commonly referred to as a "locator" class. The ESAPI locator class is called in order to retrieve singleton instances of individual security controls, which are then called in order to perform security checks (such as performing an access control check) or that result in security effects (such as generating an audit record).
- reference implementation - There is a reference implementation for each security control. There is application logic contained in these classes, i.e. contained in these interface implementations. However, the logic is not organization-specific and the logic is not application-specific. There is no proprietary information or logic contained in these reference implementation classes.
- Web Application Firewall (WAF) - In ESAPI for Java, there is additionally a Web Application Firewall (WAF) that can be called separately from the other controls.
Java EE
PROJECT INFO What does this OWASP project offer you? |
RELEASE(S) INFO What does this OWASP project release offer you? | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
.NET
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Classic ASP
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
PHP
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ColdFusion/CFML
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Python
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
JavaScript
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Objective C
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Force.com
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Ruby
PROJECT INFO What does this OWASP project offer you? |
RELEASE(S) INFO What releases are available for this project? | |||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Swingset
Project Details
PROJECT INFO What does this OWASP project offer you? | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Pages in category "OWASP Enterprise Security API"
The following 27 pages are in this category, out of 27 total.
C
E
- EASPI
- ESAPI Swingset
- ESAPI
- ESAPI Access Control
- ESAPI ClassicASP Readme
- ESAPI ColdFusion CFML Readme
- ESAPI Contributions
- ESAPI DotNET Readme
- ESAPI Javadocs
- ESAPI JavaScript Readme
- ESAPI Mapping
- ESAPI Plan
- ESAPI Python Readme
- ESAPI Secure Coding Guideline
- ESAPI Specification
- ESAPI Summit
- ESAPI-Building
- ESAPI-BuildingWithEclipse