home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JHELP.Z / Sun.java < prev    next >
Text File  |  1998-05-08  |  4KB  |  111 lines

  1. /*
  2.  * @(#)Sun.java    1.4 97/03/21 
  3.  *
  4.  * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * This software is the confidential and proprietary information of Sun
  7.  * Microsystems, Inc. ("Confidential Information").  You shall not
  8.  * disclose such Confidential Information and shall use it only in
  9.  * accordance with the terms of the license agreement you entered into
  10.  * with Sun.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. package sun.security.provider;
  21.  
  22. import java.io.*;
  23. import java.util.*;
  24. import java.security.*;
  25.  
  26. /**
  27.  * Defines the SUN provider.
  28.  *
  29.  * <i> Note - this example requires JDK 1.1.1 </i>
  30.  * 
  31.  * Algorithm supported, and their names:
  32.  *
  33.  * - SHA-1 is the message digest scheme decribed FIPS 180-1. 
  34.  *   Aliases for SHA-1 are SHA.
  35.  *
  36.  * - DSA is the signature scheme described in FIPS 186.  (SHA used in
  37.  *   DSA is SHA-1: FIPS 186 with Change No 1.)  Aliases for DSA are
  38.  *   SHA/DSA, SHA-1/DSA, DSS and the object identifier (OID) string
  39.  *   "OID:1.3.14.3.2.13".
  40.  *
  41.  * - DSA is the key generation scheme as described in FIPS 186.
  42.  *   Aliases for DSA include the OID string "OID:1.3.14.3.2.12".
  43.  *
  44.  * - MD5 is the message digest scheme described in RFC 1321.
  45.  *   There are no aliases for MD5.
  46.  *
  47.  * Notes: The name of algorithm described in FIPS-180 is SHA-0, and is
  48.  * not supported by the SUN provider.)  
  49.  *
  50.  * @author Benjamin Renaud
  51.  * 
  52.  * @version 1.4 97/09/25
  53.  */
  54. public final class Sun extends Provider {
  55.  
  56.     private static String info = "SUN Security Provider v1.0, " + 
  57.     "DSA signing and key generation, SHA-1 and MD5 message digests.";
  58.  
  59.     public Sun() {
  60.     /* We are the SUN provider */
  61.     super("SUN", 1.0, info);
  62.  
  63.     /*
  64.      * Signature engines 
  65.      */
  66.     put("Signature.DSA", "sun.security.provider.DSA");
  67.  
  68.     put("Alg.Alias.Signature.SHA/DSA", "DSA");
  69.     put("Alg.Alias.Signature.SHA-1/DSA", "DSA");
  70.     put("Alg.Alias.Signature.DSS", "DSA");
  71.     put("Alg.Alias.Signature.OID:1.3.14.3.2.13", "DSA");
  72.  
  73.     /*
  74.      *  Key Pair Generator engines 
  75.      */
  76.     put("KeyPairGenerator.DSA", 
  77.         "sun.security.provider.DSAKeyPairGenerator");
  78.     put("Alg.Alias.KeyPairGenerator.OID:1.3.14.3.2.12", "DSA");
  79.  
  80.     /* 
  81.      * Digest engines 
  82.      */
  83.     put("MessageDigest.MD5", "sun.security.provider.MD5");
  84.     put("MessageDigest.SHA-1", "sun.security.provider.SHA");
  85.     
  86.     put("Alg.Alias.MessageDigest.SHA", "SHA-1");
  87.  
  88.     /*
  89.      * Algorithm name aliases 
  90.      */
  91.  
  92.     /* Algorithm properties. Used by sun.security.x509.AlgorithmId.
  93.        This is a standard way to specify non-standard properties. */
  94.     put("Alg.Class.DSA", "sun.security.x509.AlgIdDSA");
  95.     put("Alg.Class.1.3.14.3.2.12", "sun.security.x509.AlgIdDSA");
  96.     
  97.     /* Ignore everything below this line. */
  98.  
  99.     /* This is unsupported, but left there until we fix
  100.            AlgorithmId. */
  101.     put("Alg.Alias.Signature.1.3.14.3.2.13", "DSA");
  102.     put("Alg.Alias.Signature.SHAwithDSA", "DSA");
  103.     put("Alg.Alias.Signature.SHA1withDSA", "DSA");
  104.     put("Alg.Alias.KeyPairGenerator.1.3.14.3.2.12", "DSA");
  105.  
  106.     /* Key types. Internal to sun.* */
  107.     put("PublicKey.X.509.DSA", "sun.security.provider.DSAPublicKey");
  108.     put("PrivateKey.PKCS#8.DSA", "sun.security.provider.DSAPrivateKey");
  109.     }
  110. }
  111.