jdk/src/java.base/share/classes/sun/security/x509
Sean Mullan ae33d2a2f0 8258247: Couple of issues in fix for JDK-8249906
Reviewed-by: rhalade, weijun
2021-04-20 21:45:52 +00:00
..
AccessDescription.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
AlgIdDSA.java 8229999: Apply java.io.Serial annotations to security types in java.base 2019-08-29 10:52:21 -07:00
AlgorithmId.java 8258247: Couple of issues in fix for JDK-8249906 2021-04-20 21:45:52 +00:00
AttributeNameEnumeration.java 8229999: Apply java.io.Serial annotations to security types in java.base 2019-08-29 10:52:21 -07:00
AuthorityInfoAccessExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
AuthorityKeyIdentifierExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
AVA.java 8263754: HexFormat 'fromHex' methods should be static 2021-03-29 20:38:10 +00:00
BasicConstraintsExtension.java 8261472: BasicConstraintsExtension::toString shows "PathLen:2147483647" if there is no pathLenConstraint 2021-02-10 01:59:41 +00:00
certAttributes.html 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertAttrSet.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertException.java 8229999: Apply java.io.Serial annotations to security types in java.base 2019-08-29 10:52:21 -07:00
CertificateAlgorithmId.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificateExtensions.java 8264148: Update spec for exceptions retrofitted for exception chaining 2021-03-30 19:59:59 +00:00
CertificateIssuerExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificateIssuerName.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificatePoliciesExtension.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
CertificatePolicyId.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificatePolicyMap.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificatePolicySet.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificateSerialNumber.java 8221257: Improve serial number generation mechanism for keytool -gencert 2019-03-30 16:32:23 +08:00
CertificateSubjectName.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificateValidity.java 8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01 2020-02-26 18:06:19 +03:00
CertificateVersion.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertificateX509Key.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CertParseError.java 8229999: Apply java.io.Serial annotations to security types in java.base 2019-08-29 10:52:21 -07:00
CRLDistributionPointsExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CRLExtensions.java 8264148: Update spec for exceptions retrofitted for exception chaining 2021-03-30 19:59:59 +00:00
CRLNumberExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
CRLReasonCodeExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
DeltaCRLIndicatorExtension.java 8241761: Typos: empty lines in javadoc, inconsistent indents, etc. (security-libs only) 2020-04-01 18:38:05 -07:00
DistributionPoint.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
DistributionPointName.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
DNSName.java 8241761: Typos: empty lines in javadoc, inconsistent indents, etc. (security-libs only) 2020-04-01 18:38:05 -07:00
EDIPartyName.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
ExtendedKeyUsageExtension.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
Extension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
FreshestCRLExtension.java 8241761: Typos: empty lines in javadoc, inconsistent indents, etc. (security-libs only) 2020-04-01 18:38:05 -07:00
GeneralName.java 8213952: Relax DNSName restriction as per RFC 1123 2018-12-05 17:33:01 +00:00
GeneralNameInterface.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
GeneralNames.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
GeneralSubtree.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
GeneralSubtrees.java 8239264: Clearup the legacy ObjectIdentifier constructor from int array 2020-02-17 18:52:50 -08:00
InhibitAnyPolicyExtension.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
InvalidityDateExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
IPAddressName.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
IssuerAlternativeNameExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
IssuingDistributionPointExtension.java 8241761: Typos: empty lines in javadoc, inconsistent indents, etc. (security-libs only) 2020-04-01 18:38:05 -07:00
KeyIdentifier.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
KeyUsageExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
NameConstraintsExtension.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
NetscapeCertTypeExtension.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
OCSPNoCheckExtension.java 8200381: Typos in javadoc - missing verb "be" and alike 2018-10-02 10:19:07 -07:00
OIDMap.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
OIDName.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
OtherName.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
PKIXExtensions.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
PolicyConstraintsExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
PolicyInformation.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
PolicyMappingsExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
PrivateKeyUsageExtension.java 8191632: Typos in comments due to duplicating words 2017-11-20 18:46:52 -08:00
RDN.java 8215281: Use String.isEmpty() when applicable in java.base 2018-12-13 15:31:05 +01:00
README 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
ReasonFlags.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
RFC822Name.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
SerialNumber.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
SubjectAlternativeNameExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
SubjectInfoAccessExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
SubjectKeyIdentifierExtension.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
UniqueIdentity.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
URIName.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
X400Address.java 8214532: Update RFC 2459 references in javadoc to RFC 5280 2018-12-19 18:21:38 +00:00
X500Name.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
X509AttributeName.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
X509CertImpl.java 8252055: Use java.util.HexFormat in java.security 2020-12-18 16:35:11 +00:00
X509CertInfo.java 8187443: Forest Consolidation: Move files to unified layout 2017-09-12 19:03:39 +02:00
X509CRLEntryImpl.java 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration 2020-05-19 04:05:03 +00:00
X509CRLImpl.java 8242068: Signed JAR support for RSASSA-PSS and EdDSA 2020-10-21 14:18:43 +00:00
X509Key.java 8231262: Suppress warnings on non-serializable instance fields in security libs serializable classes 2019-10-09 09:57:41 -07:00

Quick summary of the main purpose here:  X.509 certs are used in public
key infrastructure for protocols such as SSL and SET.  These certificates
involve ISO/CCITT standard technologies such as ASN.1/DER, which control
the format of the data being transmitted.  X.509 itself describes the
content of the data (e.g. X.500 user name, public key for that user, more)
and how to sign it.

+++	+++	+++	+++	+++	+++	+++	+++	+++

The X.509 support in JDK 1.2 builds on the java.security signature and
key management APIs.  The following packages provide the X.509 support:

    sun.security.util ... holds DER utilities, for parsing and generating
	streams of DER-encoded data values, including object identifiers.

    sun.security.x509 ... basic X.509 certificate parsing and generation
	framework, including X.509 keys, X.500 names, algorithm IDs,
        X.509 v3 extensions, and more.

+++	+++	+++	+++	+++	+++	+++	+++	+++

Information which may be useful when you work with X.509 certificates is
found in:

    The IETF has a public key infrastructure working group, PKIX.
    See http://www.ietf.org for more information.

    RFC 1422, which describes the key management infrastructure for
    the Privacy Enhanced Mail (PEM) system.  It builds on X.509,
    and is perhaps the most useful overview I've found.

    RFC 1777, which describes the Lightweight Directory Access
    Protocol (LDAP) that many organizations are expecting will help
    address online certificate distribution over the Internet.

    RFC 5280, which describes the Internet X.509 Public Key
    Infrastructure Certificate and CRL Profile.  

    RSA DSI has a bunch of "Public Key Cryptography Standards" (PKCS) which
    have been relatively well accepted.  They build on top of the X.509
    infrastructure.  You can FTP them from ftp://ftp.rsa.com/pub/pkcs, in
    either PostScript or ASCII format.

    RSA DSI has also provided a "Layman's Guide" to ASN.1/DER, with
    examples from the X.509 and PKCS standards.  This is available from
    the PKCS FTP area noted above.