classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RSA and encoded keys


From: Casey Marshall
Subject: RSA and encoded keys
Date: Mon, 1 Sep 2003 10:34:16 -0700
User-agent: Mutt/1.4i

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I've recently been working on some improvements to the certificates and
signature algorithms in Classpath, and the attached patch does the
following:

   * Adds RSA (PKCS #1 v1.5) signatures for MD5 and SHA-1 (and,
     optionally, MD2 and MD4 if some other library provides them).
   * Adds key factories for encoded keys (PKCS#8 and X.509) and for RSA
     keys.
   * Tightens up the X.509 certificate parsing and adds more helpful
     string representations returned by toString.

With this, Classpath's security provider can handle the most common
certificate types that exist in the wild. This, incidentally, provides
enough functionality such that the SSL implementation I am working on
<http://metastatic.org/source/jessie/> can run on a totally free
platform.

Changelog follows:

2003-09-01  Casey Marshall  <address@hidden>

        * gnu/java/security/der/DERReader.java
          (skip): new method.

        * gnu/java/security/provider/EncodedKeyFactory.java
          new file.

        * gnu/java/security/provider/Gnu.java
          (<init>): added entries for new algorithms.

        * gnu/java/security/provider/GnuDSAPrivateKey.java
          updated copyright years.
          (getFormat): return "PKCS#8" instead of null to reflect the
            encoded form returned.
          (getEncoded): create and return a PrivateKeyInfo ASN.1 structure
            from PKCS#8, instead of nothing.

        * gnu/java/security/provider/GnuDSAPublicKey.java
          (getFormat): return "X.509" instead of null to reflect the
            encoded form returned.
          (getEncoded): create and return a SubjectPublicKey ASN.1
            structure from X.509, instead of nothing.
          (toString): check for null values.

        * gnu/java/security/provider/DSAKeyFactory.java
          (engineGeneratePrivate): now accept PKCS8EncodedKeySpec
            via EncodedKeyFactory.
          (engineGeneratePublic): now accept X509EncodedKeySpec.
          (engineGetKeySpec): return PKCS#8 and X.509 key specs as
            appropriate.

        * gnu/java/security/provider/X509CertificateFactory.java
          (engineGenerateCertPath): new methods.
          (engineGetCertPathEncodings): new method.

        * gnu/java/security/provider/RSA.java
          new file.

        * gnu/java/security/provider/MD5withRSA.java
          new file.

        * gnu/java/security/provider/MD4withRSA.java
          new file.

        * gnu/java/security/provider/MD2withRSA.java
          new file.

        * gnu/java/security/provider/SHA1withRSA.java
          new file.

        * gnu/java/security/provider/GnuRSAPublicKey.java
          new file.

        * gnu/java/security/provider/RSAKeyFactory.java
          new file.

        * gnu/java/security/provider/GnuRSAPrivateKey.java
          new file.

        * gnu/java/security/provider/Makefile.am
          added new files to EXTRA_DIST.

        * gnu/java/security/x509/X500DistinguishedName.java
          (setAttribute): ignore case when accepting types.

        * gnu/java/security/x509/X509Certificate.java
          (toString): return a more helpful representation.
          (parse): use EncodedKeyFactory to parse public keys.

        * gnu/java/security/x509/Util.java
          new file.

        * gnu/java/security/x509/X509CertPath.java
          new file.

        * gnu/java/security/x509/Makefile.am
          added new files to EXTRA_DIST.

- -- 
Casey Marshall || address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE/U4JvgAuWMgRGsWsRApFmAJ95C2ACmDA5TOroccheug/tNZLV2gCdHoQn
kxL/L+qvwisyhNCpoTLwaRw=
=H+Fn
-----END PGP SIGNATURE-----

Attachment: rsa-and-encoded.patch.gz
Description: application/gunzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]