< prev index next >

test/sun/security/pkcs/pkcs8/PKCS8Test.java

Print this page

        

*** 41,51 **** import sun.security.pkcs.PKCS8Key; import sun.security.provider.DSAPrivateKey; import sun.security.util.DerOutputStream; import sun.security.util.DerValue; import sun.security.x509.AlgorithmId; - import static java.lang.System.out; public class PKCS8Test { static final HexDumpEncoder hexDump = new HexDumpEncoder(); --- 41,50 ----
*** 189,210 **** } public static void main(String[] args) throws IOException, InvalidKeyException { ! byte[] encodedKey = getEncodedKey(); byte[] expectedBytes = new byte[EXPECTED.length]; for (int i = 0; i < EXPECTED.length; i++) { expectedBytes[i] = (byte) EXPECTED[i]; } dumpByteArray("encodedKey :", encodedKey); if (!Arrays.equals(encodedKey, expectedBytes)) { raiseException(new String(expectedBytes), new String(encodedKey)); } PKCS8Key decodedKey = PKCS8Key.parse(new DerValue(encodedKey)); String alg = decodedKey.getAlgorithm(); AlgorithmId algId = decodedKey.getAlgorithmId(); out.println("Algorithm :" + alg); out.println("AlgorithmId: " + algId); --- 188,220 ---- } public static void main(String[] args) throws IOException, InvalidKeyException { ! BigInteger p = BigInteger.valueOf(1); ! BigInteger q = BigInteger.valueOf(2); ! BigInteger g = BigInteger.valueOf(3); ! BigInteger x = BigInteger.valueOf(4); ! ! DSAPrivateKey priv = new DSAPrivateKey(p, q, g, x); ! ! byte[] encodedKey = priv.getEncoded(); byte[] expectedBytes = new byte[EXPECTED.length]; for (int i = 0; i < EXPECTED.length; i++) { expectedBytes[i] = (byte) EXPECTED[i]; } dumpByteArray("encodedKey :", encodedKey); if (!Arrays.equals(encodedKey, expectedBytes)) { raiseException(new String(expectedBytes), new String(encodedKey)); } + // skip Solaris since the DSAPrivateKeys returned by SunPKCS11 Provider + // are not a subclasses of PKCS8Key + if (!System.getProperty("os.name").equalsIgnoreCase("sunos")) { PKCS8Key decodedKey = PKCS8Key.parse(new DerValue(encodedKey)); + String alg = decodedKey.getAlgorithm(); AlgorithmId algId = decodedKey.getAlgorithmId(); out.println("Algorithm :" + alg); out.println("AlgorithmId: " + algId);
*** 240,250 **** .parse(new DerValue(newEncodedKey)); throw new RuntimeException( "key1: Expected an IOException during " + "parsing"); } catch (IOException e) { ! System.out.println("newEncodedKey: should have excess data due to " + "attributes, which are not supported"); } try { byte[] newEncodedKey2 = new byte[NEW_ENCODED_KEY_INTS_2.length]; --- 250,261 ---- .parse(new DerValue(newEncodedKey)); throw new RuntimeException( "key1: Expected an IOException during " + "parsing"); } catch (IOException e) { ! System.out.println( ! "newEncodedKey: should have excess data due to " + "attributes, which are not supported"); } try { byte[] newEncodedKey2 = new byte[NEW_ENCODED_KEY_INTS_2.length];
*** 263,294 **** if (!EXCEPTION_MESSAGE.equals(e.getMessage())) { throw new RuntimeException("Key2: expected: " + EXCEPTION_MESSAGE + " get: " + e.getMessage()); } } - } - // get a byte array from somewhere - static byte[] getEncodedKey() throws InvalidKeyException { - BigInteger p = BigInteger.valueOf(1); - BigInteger q = BigInteger.valueOf(2); - BigInteger g = BigInteger.valueOf(3); - BigInteger x = BigInteger.valueOf(4); - - DSAPrivateKey priv = new DSAPrivateKey(p, q, g, x); - return priv.getEncoded(); } static void dumpByteArray(String nm, byte[] bytes) throws IOException { out.println(nm + " length: " + bytes.length); hexDump.encodeBuffer(bytes, out); } - - static String toString(PKCS8Key key) { - StringBuilder builder = new StringBuilder(key.getAlgorithm()); - builder.append('\n').append("parameters:") - .append(key.getAlgorithmId().toString()); - return builder.toString(); - } - } --- 274,287 ----
< prev index next >