Movatterモバイル変換


[0]ホーム

URL:


The Security Group

The Securitygroup is comprisedof developers who participate in the design, implementation, andmaintenance of Java Security components.

The current members of the Security Group arelisted in the census.

Submitting Vulnerabilities

If you have any potential vulnerability to report, please seeOracle'sReportingSecurity Vulnerabilities page or theOpenJDKVulnerabilities page.

Introduction

The term "Security" has broad meanings and interpretations. Itspans a wide range of areas, including cryptography, public keyinfrastructure, secure communication, authentication, and accesscontrol. The security component thus comprises a large set of APIs,tools, and implementations of commonly-used security algorithms andprotocols.

The security area does not cover security features of the otherprimary component areas (language features and virtual machineimplementations, core libraries, graphics subsystems, hotspot,serviceability, etc). For a more detailed treatment, please see thecorresponding component pages.

The primary emphasis of these pages is to explore the coresecurity components source bases, and hopefully, get developers upto speed quickly.

The Security Source Layout

The Java security components have been developed and expandedover the years, so the hierarchy may seem complicated simply due tothe large number of source files and directories. But the filesgenerally follow fairly straightforward patterns.

For general information about the OpenJDK repositories, and howto clone and build the JDK, see theOpenJDK Developer's Guide.

All of the security component source code is included in theOpenJDK project under thesrc subtree. As there aremany different components, they are split into many subdirectoriesacross several modules, generally based on functional area. In mostcases, the main API and implementation-independent classes live inthejava/* orjavax/* hierarchy, and theimplementation classes are in thesun/* hierarchy.Like any software projects, there are exceptions to thisguidance.

Cryptographic Cautions

Anyone who has worked in cryptography knows the import/export ofcryptographic code involves complicated legal issues. The JCE inOpenJDK has an open cryptographic interface, meaning it does notrestrict which providers can be used.Compliance with UnitedStates export controls and with local law governing theimport/export of products incorporating the JCE in the OpenJDK isthe responsibility of the licensee.

Testing your changes

As a rule, unit tests for fixes and new functionality are prettymuch mandatory. However, before submitting changes, you should runthe relevant regression tests to make sure that the existing testscontinue to pass. For the security component, at a minimum youshould run:

You can run the security tests withmake test:

make test TEST="jdk_security jdk_security_infra"

To run a single test, specify the pathname of the test, ex:

make testTEST="test/jdk/java/security/Provider/GetInstance.java"

It is also a good idea to run all tests in tier1 and tier2 formore assurance that your change won't break other parts of theJDK:

make test TEST="tier1 tier2"

See theTesting the JDKsection of the OpenJDK Developer's Guide for more details onhow to write and run tests. If your changes break something, itwill be a lot more work to diagnose, and then fix or back out. Doas much testing as possible.

Issues

Issues are tracked in theJDKBug System. Security bugs are tracked in thesecurity-libs component. There are severalsubcomponents depending on what area the issue affects:java.security,javax.security,javax.net.ssl,javax.crypto,javax.crypto:pkcs11,org.ietf.jgss,org.ietf.jgss:krb5,javax.xml.crypto,javax.smartcardio, andjdk.security.

Documentation

Community

OpenJDK logo
Installing
Contributing
Sponsoring
Developers' Guide
Vulnerabilities
JDK GA/EA Builds
Mailing lists
Wiki ·IRC
Mastodon
Bluesky
Bylaws ·Census
Legal
Workshop
JEP Process
Source code
GitHub
Mercurial
Tools
Git
jtreg harness
Groups
(overview)
Adoption
Build
Client Libraries
Compatibility & Specification Review
Compiler
Conformance
Core Libraries
Governing Board
HotSpot
IDE Tooling & Support
Internationalization
JMX
Members
Networking
Porters
Quality
Security
Serviceability
Vulnerability
Web
Projects
(overview,archive)
Amber
Babylon
CRaC
Code Tools
Coin
Common VM Interface
Developers' Guide
Device I/O
Duke
Galahad
Graal
IcedTea
JDK 7
JDK 8
JDK 8 Updates
JDK 9
JDK (…,23,24,25)
JDK Updates
Jigsaw
Kona
Kulla
Lanai
Leyden
Lilliput
Locale Enhancement
Loom
Memory Model Update
Metropolis
Mission Control
Multi-Language VM
Nashorn
New I/O
OpenJFX
Panama
Penrose
Port: AArch32
Port: AArch64
Port: BSD
Port: Haiku
Port: Mac OS X
Port: MIPS
Port: Mobile
Port: PowerPC/AIX
Port: RISC-V
Port: s390x
SCTP
Shenandoah
Skara
Sumatra
Tsan
Valhalla
Verona
VisualVM
Wakefield
Zero
ZGC
Oracle logo
© 2025 Oracle Corporation and/or its affiliates
Terms of Use · License:GPLv2 ·Privacy ·Trademarks

[8]ページ先頭

©2009-2025 Movatter.jp