1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Licensed to the Apache Software Foundation (ASF) under one or more
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  contributor license agreements.  See the NOTICE file distributed with
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  this work for additional information regarding copyright ownership.
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  The ASF licenses this file to You under the Apache License, Version 2.0
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  (the "License"); you may not use this file except in compliance with
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  the License.  You may obtain a copy of the License at
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  See the License for the specific language governing permissions and
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  limitations under the License.
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author Vladimir N. Molotkov
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @version $Revision$
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.apache.harmony.security.tests.support;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.KeyFactory;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.NoSuchAlgorithmException;
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.PrivateKey;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.PublicKey;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.spec.InvalidKeySpecException;
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.spec.PKCS8EncodedKeySpec;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.spec.X509EncodedKeySpec;
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.HashMap;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Generates key pairs based on their encodings for some algorithms.
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Encodings generated using
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * BEA JRockit j2sdk1.4.2_04 (http://www.bea.com)
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class TestKeyPair {
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private static final HashMap<String, byte []> privateKeyEncoding = new HashMap<String, byte[]>();
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private static final HashMap<String, byte []> publicKeyEncoding = new HashMap<String, byte[]>();
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private final String algorithmName;
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    private final KeyFactory kf;
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    static {
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        privateKeyEncoding.put("RSA", new byte[] {
46f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0x82, (byte)0x02, (byte)0x77,
47f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30,
48f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a,
49f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7,
50f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01,
51f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x05, (byte)0x00, (byte)0x04, (byte)0x82,
52f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x61, (byte)0x30, (byte)0x82,
53f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x5d, (byte)0x02, (byte)0x01,
54f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0x02, (byte)0x81, (byte)0x81,
55f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0xb2, (byte)0x4a, (byte)0x9b,
56f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5b, (byte)0xba, (byte)0x01, (byte)0xc0,
57f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcd, (byte)0x65, (byte)0x09, (byte)0x63,
58f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x70, (byte)0x0b, (byte)0x5a, (byte)0x1b,
59f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x92, (byte)0x08, (byte)0xf8, (byte)0x55,
60f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5e, (byte)0x7c, (byte)0x1b, (byte)0x50,
61f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x17, (byte)0xec, (byte)0x44, (byte)0x4c,
62f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x58, (byte)0x42, (byte)0x2b, (byte)0x41,
63f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x09, (byte)0x59, (byte)0xf2, (byte)0xe1,
64f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5d, (byte)0x43, (byte)0x71, (byte)0x4d,
65f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x92, (byte)0x03, (byte)0x1d, (byte)0xb6,
66f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6c, (byte)0x7f, (byte)0x5d, (byte)0x48,
67f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcd, (byte)0x17, (byte)0xec, (byte)0xd7,
68f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4c, (byte)0x39, (byte)0xb1, (byte)0x7b,
69f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe2, (byte)0xbf, (byte)0x96, (byte)0x77,
70f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbe, (byte)0xd0, (byte)0xa0, (byte)0xf0,
71f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2d, (byte)0x6b, (byte)0x24, (byte)0xaa,
72f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x14, (byte)0xba, (byte)0x82, (byte)0x79,
73f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x10, (byte)0x9b, (byte)0x16, (byte)0x68,
74f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x47, (byte)0x81, (byte)0x54, (byte)0xa2,
75f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfa, (byte)0x91, (byte)0x9e, (byte)0x0a,
76f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2a, (byte)0x53, (byte)0xa6, (byte)0xe7,
77f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x9e, (byte)0x7d, (byte)0x29, (byte)0x33,
78f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd8, (byte)0x05, (byte)0xfc, (byte)0x02,
79f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3f, (byte)0xbd, (byte)0xc7, (byte)0x6e,
80f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xed, (byte)0xaa, (byte)0x30, (byte)0x6c,
81f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5f, (byte)0x52, (byte)0xed, (byte)0x35,
82f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x65, (byte)0x4b, (byte)0x0e, (byte)0xc8,
83f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa7, (byte)0x12, (byte)0x10, (byte)0x56,
84f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x37, (byte)0xaf, (byte)0x11, (byte)0xfa,
85f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x21, (byte)0x0e, (byte)0x99, (byte)0xff,
86f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfa, (byte)0x8c, (byte)0x65, (byte)0x8e,
87f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6d, (byte)0x02, (byte)0x03, (byte)0x01,
88f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0x01, (byte)0x02, (byte)0x81,
89f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x80, (byte)0x78, (byte)0x41, (byte)0x72,
90f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x40, (byte)0x90, (byte)0x59, (byte)0x96,
91f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5d, (byte)0xf3, (byte)0x84, (byte)0x3d,
92f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x99, (byte)0xd9, (byte)0x4e, (byte)0x51,
93f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc2, (byte)0x52, (byte)0x62, (byte)0x8d,
94f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd2, (byte)0x49, (byte)0x0b, (byte)0x73,
95f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1e, (byte)0x6f, (byte)0xb2, (byte)0x31,
96f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7c, (byte)0x66, (byte)0x45, (byte)0x1e,
97f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7c, (byte)0xdc, (byte)0x3a, (byte)0xc2,
98f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5f, (byte)0x51, (byte)0x9a, (byte)0x1e,
99f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa4, (byte)0x19, (byte)0x8d, (byte)0xf4,
100f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf9, (byte)0x81, (byte)0x7e, (byte)0xbe,
101f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x17, (byte)0xf7, (byte)0xc7, (byte)0x3c,
102f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0xa1, (byte)0xf9, (byte)0x60,
103f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x82, (byte)0x34, (byte)0x8f, (byte)0x9c,
104f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfd, (byte)0x0b, (byte)0x63, (byte)0x42,
105f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1b, (byte)0x7f, (byte)0x45, (byte)0xf1,
106f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x31, (byte)0xc3, (byte)0x63, (byte)0x47,
107f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5c, (byte)0xc1, (byte)0xb2, (byte)0x5f,
108f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x57, (byte)0xee, (byte)0x02, (byte)0x9f,
109f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5e, (byte)0x08, (byte)0x48, (byte)0xba,
110f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x74, (byte)0xba, (byte)0x81, (byte)0xb7,
111f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0xac, (byte)0x4c, (byte)0x01,
112f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x35, (byte)0xce, (byte)0x46, (byte)0x47,
113f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8c, (byte)0xe4, (byte)0x62, (byte)0x36,
114f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1a, (byte)0x65, (byte)0x0e, (byte)0x33,
115f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x56, (byte)0xf9, (byte)0xb7, (byte)0xa0,
116f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc4, (byte)0xb6, (byte)0x82, (byte)0x55,
117f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7d, (byte)0x36, (byte)0x55, (byte)0xc0,
118f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x52, (byte)0x5e, (byte)0x35, (byte)0x54,
119f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbd, (byte)0x97, (byte)0x01, (byte)0x00,
120f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbf, (byte)0x10, (byte)0xdc, (byte)0x1b,
121f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x51, (byte)0x02, (byte)0x41, (byte)0x00,
122f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe7, (byte)0x68, (byte)0x03, (byte)0x3e,
123f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x21, (byte)0x64, (byte)0x68, (byte)0x24,
124f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7b, (byte)0xd0, (byte)0x31, (byte)0xa0,
125f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa2, (byte)0xd9, (byte)0x87, (byte)0x6d,
126f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x79, (byte)0x81, (byte)0x8f, (byte)0x8f,
127f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2d, (byte)0x7a, (byte)0x95, (byte)0x2e,
128f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x55, (byte)0x9f, (byte)0xd7, (byte)0x86,
129f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x29, (byte)0x93, (byte)0xbd, (byte)0x04,
130f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7e, (byte)0x4f, (byte)0xdb, (byte)0x56,
131f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf1, (byte)0x75, (byte)0xd0, (byte)0x4b,
132f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0x3a, (byte)0xe0, (byte)0x26,
133f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf6, (byte)0xab, (byte)0x9e, (byte)0x0b,
134f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2a, (byte)0xf4, (byte)0xa8, (byte)0xd7,
135f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xff, (byte)0xbe, (byte)0x01, (byte)0xeb,
136f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x9b, (byte)0x81, (byte)0xc7, (byte)0x5f,
137f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x73, (byte)0xe1, (byte)0x2b,
138f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x41, (byte)0x00, (byte)0xc5,
139f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3d, (byte)0x78, (byte)0xab, (byte)0xe6,
140f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xab, (byte)0x3e, (byte)0x29, (byte)0xfd,
141f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x98, (byte)0xd0, (byte)0xa4, (byte)0x3e,
142f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x58, (byte)0xee, (byte)0x48, (byte)0x45,
143f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa3, (byte)0x66, (byte)0xac, (byte)0xe9,
144f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4d, (byte)0xbd, (byte)0x60, (byte)0xea,
145f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x24, (byte)0xff, (byte)0xed, (byte)0x0c,
146f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x67, (byte)0xc5, (byte)0xfd, (byte)0x36,
147f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x28, (byte)0xea, (byte)0x74, (byte)0x88,
148f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd1, (byte)0xd1, (byte)0xad, (byte)0x58,
149f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd7, (byte)0xf0, (byte)0x67, (byte)0x20,
150f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc1, (byte)0xe3, (byte)0xb3, (byte)0xdb,
151f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x52, (byte)0xad, (byte)0xf3, (byte)0xc4,
152f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x21, (byte)0xd8, (byte)0x8c, (byte)0x4c,
153f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x41, (byte)0x27, (byte)0xdb, (byte)0xd0,
154f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x35, (byte)0x92, (byte)0xc7, (byte)0x02,
155f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x41, (byte)0x00, (byte)0xe0, (byte)0x99,
156f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x42, (byte)0xb4, (byte)0x76, (byte)0x02,
157f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x97, (byte)0x55, (byte)0xf9, (byte)0xda,
158f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3b, (byte)0xa0, (byte)0xd7, (byte)0x0e,
159f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdc, (byte)0xf4, (byte)0x33, (byte)0x7f,
160f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbd, (byte)0xcf, (byte)0xd0, (byte)0xeb,
161f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6e, (byte)0x89, (byte)0xf7, (byte)0x4f,
162f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5a, (byte)0x07, (byte)0x7c, (byte)0xa9,
163f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x49, (byte)0x47, (byte)0x68, (byte)0x35,
164f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa8, (byte)0x05, (byte)0x3d, (byte)0xfd,
165f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x04, (byte)0x7b, (byte)0x17, (byte)0x31,
166f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0d, (byte)0xc8, (byte)0xa3, (byte)0x98,
167f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x34, (byte)0xa0, (byte)0x50, (byte)0x44,
168f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0xf1, (byte)0x0c, (byte)0xe6,
169f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe5, (byte)0xc4, (byte)0x41, (byte)0x3d,
170f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf8, (byte)0x3d, (byte)0x4e, (byte)0x0b,
171f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1c, (byte)0xdb, (byte)0x02, (byte)0x41,
172f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0x82, (byte)0x9b, (byte)0x8a,
173f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfd, (byte)0xa1, (byte)0x98, (byte)0x41,
174f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x68, (byte)0xc2, (byte)0xd1, (byte)0xdf,
175f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4e, (byte)0xf3, (byte)0x2e, (byte)0x26,
176f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x53, (byte)0x5b, (byte)0x31, (byte)0xb1,
177f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7a, (byte)0xcc, (byte)0x5e, (byte)0xbb,
178f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x09, (byte)0xa2, (byte)0xe2, (byte)0x6f,
179f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4a, (byte)0x04, (byte)0x0d, (byte)0xef,
180f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x90, (byte)0x15, (byte)0xbe, (byte)0x10,
181f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4a, (byte)0xac, (byte)0x92, (byte)0xeb,
182f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xda, (byte)0x72, (byte)0xdb, (byte)0x43,
183f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x08, (byte)0xb7, (byte)0x2b, (byte)0x4c,
184f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe1, (byte)0xbb, (byte)0x58, (byte)0xcb,
185f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x71, (byte)0x80, (byte)0xad, (byte)0xbc,
186f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdc, (byte)0x62, (byte)0x5e, (byte)0x3e,
187f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcb, (byte)0x92, (byte)0xda, (byte)0xf6,
188f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdf, (byte)0x02, (byte)0x40, (byte)0x4d,
189f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x81, (byte)0x90, (byte)0xc5, (byte)0x77,
190f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0xb7, (byte)0x29, (byte)0x00,
191f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa8, (byte)0xf1, (byte)0xb4, (byte)0xae,
192f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x52, (byte)0x63, (byte)0x00, (byte)0xb2,
193f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2d, (byte)0x3e, (byte)0x7d, (byte)0xd6,
194f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4d, (byte)0xf9, (byte)0x8a, (byte)0xc1,
195f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xb1, (byte)0x98, (byte)0x89, (byte)0x52,
196f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x40, (byte)0x14, (byte)0x1b, (byte)0x0e,
197f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x61, (byte)0x8f, (byte)0xf4, (byte)0xbe,
198f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x59, (byte)0x79, (byte)0x79, (byte)0x95,
199f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x19, (byte)0x5c, (byte)0x51, (byte)0x08,
200f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x66, (byte)0xc1, (byte)0x42, (byte)0x30,
201f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xb3, (byte)0x7a, (byte)0x86, (byte)0x9f,
202f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3e, (byte)0xf5, (byte)0x19, (byte)0xa3,
203f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xae, (byte)0x64, (byte)0x69, (byte)0x14,
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte)0x07, (byte)0x50, (byte)0x97
205f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        });
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        publicKeyEncoding.put("RSA", new byte[] {
207f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0x81, (byte)0x9f, (byte)0x30,
208f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0d, (byte)0x06, (byte)0x09, (byte)0x2a,
209f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x86, (byte)0x48, (byte)0x86, (byte)0xf7,
210f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0d, (byte)0x01, (byte)0x01, (byte)0x01,
211f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x05, (byte)0x00, (byte)0x03, (byte)0x81,
212f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8d, (byte)0x00, (byte)0x30, (byte)0x81,
213f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x89, (byte)0x02, (byte)0x81, (byte)0x81,
214f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0xb2, (byte)0x4a, (byte)0x9b,
215f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5b, (byte)0xba, (byte)0x01, (byte)0xc0,
216f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcd, (byte)0x65, (byte)0x09, (byte)0x63,
217f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x70, (byte)0x0b, (byte)0x5a, (byte)0x1b,
218f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x92, (byte)0x08, (byte)0xf8, (byte)0x55,
219f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5e, (byte)0x7c, (byte)0x1b, (byte)0x50,
220f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x17, (byte)0xec, (byte)0x44, (byte)0x4c,
221f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x58, (byte)0x42, (byte)0x2b, (byte)0x41,
222f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x09, (byte)0x59, (byte)0xf2, (byte)0xe1,
223f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5d, (byte)0x43, (byte)0x71, (byte)0x4d,
224f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x92, (byte)0x03, (byte)0x1d, (byte)0xb6,
225f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6c, (byte)0x7f, (byte)0x5d, (byte)0x48,
226f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcd, (byte)0x17, (byte)0xec, (byte)0xd7,
227f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4c, (byte)0x39, (byte)0xb1, (byte)0x7b,
228f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe2, (byte)0xbf, (byte)0x96, (byte)0x77,
229f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbe, (byte)0xd0, (byte)0xa0, (byte)0xf0,
230f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2d, (byte)0x6b, (byte)0x24, (byte)0xaa,
231f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x14, (byte)0xba, (byte)0x82, (byte)0x79,
232f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x10, (byte)0x9b, (byte)0x16, (byte)0x68,
233f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x47, (byte)0x81, (byte)0x54, (byte)0xa2,
234f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfa, (byte)0x91, (byte)0x9e, (byte)0x0a,
235f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2a, (byte)0x53, (byte)0xa6, (byte)0xe7,
236f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x9e, (byte)0x7d, (byte)0x29, (byte)0x33,
237f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd8, (byte)0x05, (byte)0xfc, (byte)0x02,
238f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3f, (byte)0xbd, (byte)0xc7, (byte)0x6e,
239f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xed, (byte)0xaa, (byte)0x30, (byte)0x6c,
240f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5f, (byte)0x52, (byte)0xed, (byte)0x35,
241f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x65, (byte)0x4b, (byte)0x0e, (byte)0xc8,
242f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa7, (byte)0x12, (byte)0x10, (byte)0x56,
243f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x37, (byte)0xaf, (byte)0x11, (byte)0xfa,
244f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x21, (byte)0x0e, (byte)0x99, (byte)0xff,
245f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfa, (byte)0x8c, (byte)0x65, (byte)0x8e,
246f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6d, (byte)0x02, (byte)0x03, (byte)0x01,
247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte)0x00, (byte)0x01
248f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        });
249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        privateKeyEncoding.put("DSA", new byte[] {
250f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0x82, (byte)0x01, (byte)0x4a,
251f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x01, (byte)0x00, (byte)0x30,
252f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x82, (byte)0x01, (byte)0x2b, (byte)0x06,
253f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x07, (byte)0x2a, (byte)0x86, (byte)0x48,
254f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xce, (byte)0x38, (byte)0x04, (byte)0x01,
255f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0x82, (byte)0x01, (byte)0x1e,
256f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x81, (byte)0x81, (byte)0x00,
257f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xca, (byte)0x84, (byte)0x1d, (byte)0xa3,
258f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xab, (byte)0xb9, (byte)0x98, (byte)0xf4,
259f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x61, (byte)0x8b, (byte)0x66, (byte)0xdb,
260f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4e, (byte)0x3a, (byte)0xb2, (byte)0x11,
261f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4e, (byte)0xa9, (byte)0xda, (byte)0x35,
262f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x91, (byte)0xc9, (byte)0x4e, (byte)0xc3,
263f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x16, (byte)0xa7, (byte)0xed, (byte)0xb8,
264f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8f, (byte)0xd7, (byte)0xea, (byte)0xea,
265f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdb, (byte)0x77, (byte)0xe1, (byte)0x77,
266f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7a, (byte)0xc9, (byte)0xf3, (byte)0x37,
267f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x33, (byte)0x01, (byte)0x72, (byte)0xbc,
268f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd0, (byte)0x89, (byte)0x9b, (byte)0x18,
269f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfd, (byte)0x84, (byte)0xd6, (byte)0xe9,
270f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbf, (byte)0x13, (byte)0x35, (byte)0x5e,
271f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x40, (byte)0xf6, (byte)0x9d, (byte)0xd9,
272f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1a, (byte)0xba, (byte)0xa9, (byte)0xc3,
273f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8c, (byte)0xe3, (byte)0x95, (byte)0xc8,
274f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdf, (byte)0x2e, (byte)0x41, (byte)0xa1,
275f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbf, (byte)0xde, (byte)0x5d, (byte)0xad,
276f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x21, (byte)0xcc, (byte)0x0d, (byte)0x42,
277f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x56, (byte)0xa0, (byte)0x32, (byte)0xc0,
278f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x90, (byte)0x73, (byte)0x3e, (byte)0xa4,
279f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0e, (byte)0x58, (byte)0xe4, (byte)0x64,
280f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0xa3, (byte)0x27, (byte)0x49,
281f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x56, (byte)0xb2, (byte)0x43, (byte)0xbc,
282f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x72, (byte)0xa8, (byte)0xd2, (byte)0x26,
283f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x89, (byte)0x35, (byte)0x37, (byte)0x29,
284f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8d, (byte)0x21, (byte)0xb5, (byte)0x8e,
285f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x59, (byte)0xfa, (byte)0x9e, (byte)0xdf,
286f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x37, (byte)0x0d, (byte)0x9e, (byte)0xab,
287f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfd, (byte)0xbf, (byte)0x1a, (byte)0x9e,
288f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf3, (byte)0xe8, (byte)0x3a, (byte)0xfb,
289f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x15, (byte)0x00, (byte)0xa2,
290f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4e, (byte)0x5d, (byte)0xe3, (byte)0x10,
291f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5d, (byte)0xa9, (byte)0x3a, (byte)0x6a,
292f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4d, (byte)0x07, (byte)0x3b, (byte)0xab,
293f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xca, (byte)0x7d, (byte)0x09, (byte)0xd6,
294f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x06, (byte)0x79, (byte)0x49, (byte)0x02,
295f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x81, (byte)0x80, (byte)0x5a, (byte)0x91,
296f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x83, (byte)0x1c, (byte)0x04, (byte)0x33,
297f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xca, (byte)0x25, (byte)0xb0, (byte)0x68,
298f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xb3, (byte)0xb3, (byte)0xab, (byte)0x55,
299f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x29, (byte)0x33, (byte)0x4d, (byte)0xa9,
300f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x33, (byte)0x39, (byte)0xef, (byte)0x71,
301f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xca, (byte)0x95, (byte)0xf3, (byte)0xd8,
302f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x27, (byte)0x56, (byte)0x5f, (byte)0x42,
303f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xda, (byte)0x36, (byte)0x83, (byte)0xc5,
304f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf1, (byte)0x53, (byte)0x62, (byte)0xa5,
305f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdc, (byte)0xe6, (byte)0x4e, (byte)0x69,
306f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x45, (byte)0x71, (byte)0x1a, (byte)0x4a,
307f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc3, (byte)0xf4, (byte)0x7f, (byte)0x0a,
308f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd1, (byte)0x78, (byte)0xed, (byte)0xbe,
309f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6e, (byte)0xa6, (byte)0x36, (byte)0x34,
310f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4e, (byte)0xc3, (byte)0x1b, (byte)0x17,
311f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xaa, (byte)0xa4, (byte)0x76, (byte)0x44,
312f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x46, (byte)0xaf, (byte)0x26, (byte)0x16,
313f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x14, (byte)0xfb, (byte)0x9f, (byte)0x5d,
314f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x08, (byte)0xaf, (byte)0x92, (byte)0xdb,
315f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xba, (byte)0xd0, (byte)0xcb, (byte)0x8b,
316f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1e, (byte)0xc3, (byte)0x8b, (byte)0x36,
317f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3b, (byte)0x4c, (byte)0x02, (byte)0xc3,
318f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x66, (byte)0x28, (byte)0x69, (byte)0xd0,
319f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x74, (byte)0x4f, (byte)0x1c, (byte)0x4f,
320f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x97, (byte)0x75, (byte)0x7f, (byte)0x9e,
321f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x89, (byte)0x80, (byte)0xcf, (byte)0xb2,
322f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x17, (byte)0xd6, (byte)0x66, (byte)0x91,
323f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x12, (byte)0x3a, (byte)0xb0, (byte)0x3c,
324f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3c, (byte)0xc2, (byte)0x31, (byte)0xd1,
325f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x31, (byte)0x2a, (byte)0x35, (byte)0xbe,
326f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x9d, (byte)0x54, (byte)0x71, (byte)0x03,
327f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcb, (byte)0xcc, (byte)0x04, (byte)0x16,
328f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x14, (byte)0x52, (byte)0xfb,
329f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf9, (byte)0x12, (byte)0x40, (byte)0x05,
330f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x59, (byte)0x8f, (byte)0xde, (byte)0x9d,
331f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xac, (byte)0xa1, (byte)0xe2, (byte)0xed,
332f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x56, (byte)0x62, (byte)0x5f, (byte)0x56,
333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte)0x67, (byte)0x74
334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        });
335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        publicKeyEncoding.put("DSA", new byte[] {
336f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0x82, (byte)0x01, (byte)0xb7,
337f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x30, (byte)0x82, (byte)0x01, (byte)0x2b,
338f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x06, (byte)0x07, (byte)0x2a, (byte)0x86,
339f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x48, (byte)0xce, (byte)0x38, (byte)0x04,
340f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x01, (byte)0x30, (byte)0x82, (byte)0x01,
341f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x1e, (byte)0x02, (byte)0x81, (byte)0x81,
342f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x00, (byte)0xca, (byte)0x84, (byte)0x1d,
343f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa3, (byte)0xab, (byte)0xb9, (byte)0x98,
344f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf4, (byte)0x61, (byte)0x8b, (byte)0x66,
345f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdb, (byte)0x4e, (byte)0x3a, (byte)0xb2,
346f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x11, (byte)0x4e, (byte)0xa9, (byte)0xda,
347f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x35, (byte)0x91, (byte)0xc9, (byte)0x4e,
348f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc3, (byte)0x16, (byte)0xa7, (byte)0xed,
349f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xb8, (byte)0x8f, (byte)0xd7, (byte)0xea,
350f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xea, (byte)0xdb, (byte)0x77, (byte)0xe1,
351f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x77, (byte)0x7a, (byte)0xc9, (byte)0xf3,
352f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x37, (byte)0x33, (byte)0x01, (byte)0x72,
353f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbc, (byte)0xd0, (byte)0x89, (byte)0x9b,
354f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x18, (byte)0xfd, (byte)0x84, (byte)0xd6,
355f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe9, (byte)0xbf, (byte)0x13, (byte)0x35,
356f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5e, (byte)0x40, (byte)0xf6, (byte)0x9d,
357f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd9, (byte)0x1a, (byte)0xba, (byte)0xa9,
358f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc3, (byte)0x8c, (byte)0xe3, (byte)0x95,
359f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc8, (byte)0xdf, (byte)0x2e, (byte)0x41,
360f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa1, (byte)0xbf, (byte)0xde, (byte)0x5d,
361f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xad, (byte)0x21, (byte)0xcc, (byte)0x0d,
362f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x42, (byte)0x56, (byte)0xa0, (byte)0x32,
363f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc0, (byte)0x90, (byte)0x73, (byte)0x3e,
364f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa4, (byte)0x0e, (byte)0x58, (byte)0xe4,
365f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x64, (byte)0x00, (byte)0xa3, (byte)0x27,
366f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x49, (byte)0x56, (byte)0xb2, (byte)0x43,
367f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbc, (byte)0x72, (byte)0xa8, (byte)0xd2,
368f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x26, (byte)0x89, (byte)0x35, (byte)0x37,
369f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x29, (byte)0x8d, (byte)0x21, (byte)0xb5,
370f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8e, (byte)0x59, (byte)0xfa, (byte)0x9e,
371f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdf, (byte)0x37, (byte)0x0d, (byte)0x9e,
372f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xab, (byte)0xfd, (byte)0xbf, (byte)0x1a,
373f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x9e, (byte)0xf3, (byte)0xe8, (byte)0x3a,
374f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xfb, (byte)0x02, (byte)0x15, (byte)0x00,
375f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa2, (byte)0x4e, (byte)0x5d, (byte)0xe3,
376f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x10, (byte)0x5d, (byte)0xa9, (byte)0x3a,
377f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x6a, (byte)0x4d, (byte)0x07, (byte)0x3b,
378f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xab, (byte)0xca, (byte)0x7d, (byte)0x09,
379f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd6, (byte)0x06, (byte)0x79, (byte)0x49,
380f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x02, (byte)0x81, (byte)0x80, (byte)0x5a,
381f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x91, (byte)0x83, (byte)0x1c, (byte)0x04,
382f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x33, (byte)0xca, (byte)0x25, (byte)0xb0,
383f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x68, (byte)0xb3, (byte)0xb3, (byte)0xab,
384f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x55, (byte)0x29, (byte)0x33, (byte)0x4d,
385f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa9, (byte)0x33, (byte)0x39, (byte)0xef,
386f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x71, (byte)0xca, (byte)0x95, (byte)0xf3,
387f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd8, (byte)0x27, (byte)0x56, (byte)0x5f,
388f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x42, (byte)0xda, (byte)0x36, (byte)0x83,
389f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc5, (byte)0xf1, (byte)0x53, (byte)0x62,
390f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa5, (byte)0xdc, (byte)0xe6, (byte)0x4e,
391f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x69, (byte)0x45, (byte)0x71, (byte)0x1a,
392f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4a, (byte)0xc3, (byte)0xf4, (byte)0x7f,
393f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x0a, (byte)0xd1, (byte)0x78, (byte)0xed,
394f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbe, (byte)0x6e, (byte)0xa6, (byte)0x36,
395f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x34, (byte)0x4e, (byte)0xc3, (byte)0x1b,
396f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x17, (byte)0xaa, (byte)0xa4, (byte)0x76,
397f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x44, (byte)0x46, (byte)0xaf, (byte)0x26,
398f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x16, (byte)0x14, (byte)0xfb, (byte)0x9f,
399f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5d, (byte)0x08, (byte)0xaf, (byte)0x92,
400f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xdb, (byte)0xba, (byte)0xd0, (byte)0xcb,
401f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x8b, (byte)0x1e, (byte)0xc3, (byte)0x8b,
402f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x36, (byte)0x3b, (byte)0x4c, (byte)0x02,
403f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xc3, (byte)0x66, (byte)0x28, (byte)0x69,
404f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd0, (byte)0x74, (byte)0x4f, (byte)0x1c,
405f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4f, (byte)0x97, (byte)0x75, (byte)0x7f,
406f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x9e, (byte)0x89, (byte)0x80, (byte)0xcf,
407f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xb2, (byte)0x17, (byte)0xd6, (byte)0x66,
408f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x91, (byte)0x12, (byte)0x3a, (byte)0xb0,
409f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3c, (byte)0x3c, (byte)0xc2, (byte)0x31,
410f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd1, (byte)0x31, (byte)0x2a, (byte)0x35,
411f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xbe, (byte)0x9d, (byte)0x54, (byte)0x71,
412f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x03, (byte)0xcb, (byte)0xcc, (byte)0x03,
413f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x81, (byte)0x85, (byte)0x00, (byte)0x02,
414f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x81, (byte)0x81, (byte)0x00, (byte)0x95,
415f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcc, (byte)0x11, (byte)0xd4, (byte)0x53,
416f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x3d, (byte)0x9c, (byte)0x5c, (byte)0x73,
417f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf4, (byte)0x70, (byte)0xf0, (byte)0xe1,
418f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xac, (byte)0xe3, (byte)0x2c, (byte)0x32,
419f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x16, (byte)0x1d, (byte)0x34, (byte)0x1a,
420f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x38, (byte)0x63, (byte)0x69, (byte)0x1a,
421f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x72, (byte)0x39, (byte)0x4e, (byte)0x41,
422f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x50, (byte)0xfa, (byte)0xdc, (byte)0x78,
423f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa4, (byte)0xb8, (byte)0x17, (byte)0x5a,
424f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xe4, (byte)0xf9, (byte)0xa2, (byte)0x52,
425f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x41, (byte)0x85, (byte)0xab, (byte)0x3f,
426f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf4, (byte)0x73, (byte)0x2e, (byte)0xae,
427f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa9, (byte)0x21, (byte)0x8b, (byte)0x5e,
428f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x95, (byte)0x15, (byte)0xa2, (byte)0x86,
429f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x63, (byte)0x0d, (byte)0xba, (byte)0x01,
430f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xcb, (byte)0xe3, (byte)0x68, (byte)0xc6,
431f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xaf, (byte)0x56, (byte)0x51, (byte)0x7b,
432f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa8, (byte)0x85, (byte)0x3f, (byte)0x01,
433f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x80, (byte)0x8b, (byte)0x1f, (byte)0xb4,
434f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x4c, (byte)0x93, (byte)0x6b, (byte)0x42,
435f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xa6, (byte)0xbd, (byte)0x67, (byte)0x2a,
436f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x95, (byte)0x05, (byte)0xff, (byte)0x03,
437f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2e, (byte)0x6f, (byte)0xd4, (byte)0xd3,
438f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xf0, (byte)0x17, (byte)0xde, (byte)0xcb,
439f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x7d, (byte)0xd9, (byte)0x42, (byte)0x4d,
440f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x97, (byte)0x2c, (byte)0x53, (byte)0xe6,
441f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x39, (byte)0x61, (byte)0xd2, (byte)0x69,
442f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0xd1, (byte)0x1c, (byte)0x9a, (byte)0x8b,
443f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x5b, (byte)0x9c, (byte)0xfa, (byte)0xfa,
444f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x50, (byte)0x50, (byte)0xbb, (byte)0xe4,
445f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte)0x2e, (byte)0x83, (byte)0x06, (byte)0x08,
446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte)0x96, (byte)0x2a, (byte)0x68
447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        });
448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        privateKeyEncoding.put("DH", new byte[] {
449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x30, (byte) 0xffffff81, (byte) 0xffffffe1, (byte) 0x2,
450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1, (byte) 0x0, (byte) 0x30, (byte) 0xffffff81,
451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff97, (byte) 0x6, (byte) 0x9, (byte) 0x2a,
452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff86, (byte) 0x48, (byte) 0xffffff86,
453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xfffffff7, (byte) 0xd, (byte) 0x1, (byte) 0x3,
454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1, (byte) 0x30, (byte) 0xffffff81, (byte) 0xffffff89,
455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x2, (byte) 0x41, (byte) 0x0, (byte) 0xfffffff0,
456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffaa, (byte) 0x22, (byte) 0x5a, (byte) 0x29,
457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb2, (byte) 0x3f, (byte) 0xffffffc9, (byte) 0xb,
458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff87, (byte) 0x5d, (byte) 0xffffff91, (byte) 0x51,
459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1, (byte) 0xffffffa4, (byte) 0xffffffb9, (byte) 0x4e,
460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1e, (byte) 0xffffff85, (byte) 0xfffffffc,
461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa6, (byte) 0x5a, (byte) 0xffffff96,
462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb1, (byte) 0xffffffcb, (byte) 0xffffff81,
463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa3, (byte) 0x6e, (byte) 0xffffff90,
464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffbd, (byte) 0xffffffa2, (byte) 0xe,
465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb4, (byte) 0xffffffba, (byte) 0x2c, (byte) 0x45,
466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x9, (byte) 0x1c, (byte) 0xffffff98, (byte) 0x39,
467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x26, (byte) 0x24, (byte) 0x40, (byte) 0xffffff80,
468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffce, (byte) 0x15, (byte) 0xffffff8b,
469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe1, (byte) 0x67, (byte) 0x48, (byte) 0xfffffff3,
470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x70, (byte) 0xffffff98, (byte) 0xffffffca,
471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa7, (byte) 0x71, (byte) 0x33, (byte) 0xffffffb6,
472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x4, (byte) 0x13, (byte) 0xffffffe5, (byte) 0x61,
473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x3c, (byte) 0x1f, (byte) 0x2, (byte) 0x40, (byte) 0x1e,
474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffd8, (byte) 0x6f, (byte) 0xffffffce, (byte) 0x23,
475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x71, (byte) 0x6a, (byte) 0x2a, (byte) 0xffffffa3,
476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x4d, (byte) 0x62, (byte) 0xffffffe9, (byte) 0x5f,
477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x17, (byte) 0xffffffa8, (byte) 0xffffffe8,
478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffaa, (byte) 0xffffff8a, (byte) 0xffffff95,
479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x26, (byte) 0x7c, (byte) 0x38, (byte) 0xffffffa9,
480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x2b, (byte) 0x48, (byte) 0x5a, (byte) 0x16,
481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x19, (byte) 0xfffffffa, (byte) 0xffffff83,
482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb8, (byte) 0x76, (byte) 0xffffffaf,
483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb8, (byte) 0x62, (byte) 0x72, (byte) 0x45,
484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff9f, (byte) 0xffffff95, (byte) 0x1e, (byte) 0x62,
485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x36, (byte) 0xffffff97, (byte) 0xffffffbf,
486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffab, (byte) 0x20, (byte) 0xffffffb0, (byte) 0x61,
487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc5, (byte) 0x21, (byte) 0xffffff9e,
488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe4, (byte) 0xffffffde, (byte) 0xffffff91,
489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1c, (byte) 0x6a, (byte) 0x7, (byte) 0x48, (byte) 0x77,
490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x70, (byte) 0x1d, (byte) 0xffffffff, (byte) 0x58,
491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x23, (byte) 0x2, (byte) 0x2, (byte) 0x1,
492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffff, (byte) 0x4, (byte) 0x42, (byte) 0x2,
493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x40, (byte) 0x69, (byte) 0xffffff86, (byte) 0x48,
494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x57, (byte) 0xffffffbf, (byte) 0xffffffde, (byte) 0x8,
495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc6, (byte) 0x24, (byte) 0x6d, (byte) 0xf,
496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x20, (byte) 0xffffff94, (byte) 0x4a, (byte) 0x22,
497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x6e, (byte) 0x24, (byte) 0x60, (byte) 0xffffffd9,
498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa9, (byte) 0xffffffbd, (byte) 0x1e, (byte) 0x64,
499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff89, (byte) 0xffffff83, (byte) 0x3c,
500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe7, (byte) 0x70, (byte) 0x24, (byte) 0xffffffe1,
501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff8f, (byte) 0x3c, (byte) 0x4d, (byte) 0x39,
502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x5f, (byte) 0xffffff9e, (byte) 0xffffff93, (byte) 0x13,
503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff86, (byte) 0xffffffe9, (byte) 0xffffff80,
504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xf, (byte) 0xffffffc4, (byte) 0x41, (byte) 0xffffff8b,
505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xfffffff4, (byte) 0xffffff8b, (byte) 0x65,
506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa4, (byte) 0x1b, (byte) 0xd, (byte) 0x4,
507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x48, (byte) 0x40, (byte) 0xffffffd6, (byte) 0xffffffa2,
508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x0, (byte) 0xffffff85, (byte) 0xffffffe9,
509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc4, (byte) 0x77, (byte) 0xffffffb2, (byte) 0x25,
510f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes                (byte) 0xffffffd8
511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        });
512f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        publicKeyEncoding.put("DH", new byte[] {
513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x30, (byte) 0xffffff81, (byte) 0xffffffe0, (byte) 0x30,
514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff81, (byte) 0xffffff97, (byte) 0x6, (byte) 0x9,
515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x2a, (byte) 0xffffff86, (byte) 0x48, (byte) 0xffffff86,
516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xfffffff7, (byte) 0xd, (byte) 0x1, (byte) 0x3,
517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1, (byte) 0x30, (byte) 0xffffff81, (byte) 0xffffff89,
518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x2, (byte) 0x41, (byte) 0x0, (byte) 0xfffffff0,
519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffaa, (byte) 0x22, (byte) 0x5a, (byte) 0x29,
520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb2, (byte) 0x3f, (byte) 0xffffffc9, (byte) 0xb,
521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff87, (byte) 0x5d, (byte) 0xffffff91, (byte) 0x51,
522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1, (byte) 0xffffffa4, (byte) 0xffffffb9, (byte) 0x4e,
523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1e, (byte) 0xffffff85, (byte) 0xfffffffc,
524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa6, (byte) 0x5a, (byte) 0xffffff96,
525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb1, (byte) 0xffffffcb, (byte) 0xffffff81,
526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa3, (byte) 0x6e, (byte) 0xffffff90,
527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffbd, (byte) 0xffffffa2, (byte) 0xe,
528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb4, (byte) 0xffffffba, (byte) 0x2c, (byte) 0x45,
529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x9, (byte) 0x1c, (byte) 0xffffff98, (byte) 0x39,
530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x26, (byte) 0x24, (byte) 0x40, (byte) 0xffffff80,
531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffce, (byte) 0x15, (byte) 0xffffff8b,
532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe1, (byte) 0x67, (byte) 0x48, (byte) 0xfffffff3,
533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x70, (byte) 0xffffff98, (byte) 0xffffffca,
534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffa7, (byte) 0x71, (byte) 0x33, (byte) 0xffffffb6,
535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x4, (byte) 0x13, (byte) 0xffffffe5, (byte) 0x61,
536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x3c, (byte) 0x1f, (byte) 0x2, (byte) 0x40, (byte) 0x1e,
537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffd8, (byte) 0x6f, (byte) 0xffffffce, (byte) 0x23,
538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x71, (byte) 0x6a, (byte) 0x2a, (byte) 0xffffffa3,
539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x4d, (byte) 0x62, (byte) 0xffffffe9, (byte) 0x5f,
540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x17, (byte) 0xffffffa8, (byte) 0xffffffe8,
541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffaa, (byte) 0xffffff8a, (byte) 0xffffff95,
542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x26, (byte) 0x7c, (byte) 0x38, (byte) 0xffffffa9,
543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x2b, (byte) 0x48, (byte) 0x5a, (byte) 0x16,
544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x19, (byte) 0xfffffffa, (byte) 0xffffff83,
545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb8, (byte) 0x76, (byte) 0xffffffaf,
546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffb8, (byte) 0x62, (byte) 0x72, (byte) 0x45,
547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff9f, (byte) 0xffffff95, (byte) 0x1e, (byte) 0x62,
548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x36, (byte) 0xffffff97, (byte) 0xffffffbf,
549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffab, (byte) 0x20, (byte) 0xffffffb0, (byte) 0x61,
550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc5, (byte) 0x21, (byte) 0xffffff9e,
551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe4, (byte) 0xffffffde, (byte) 0xffffff91,
552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x1c, (byte) 0x6a, (byte) 0x7, (byte) 0x48, (byte) 0x77,
553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x70, (byte) 0x1d, (byte) 0xffffffff, (byte) 0x58,
554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x23, (byte) 0x2, (byte) 0x2, (byte) 0x1,
555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffff, (byte) 0x3, (byte) 0x44, (byte) 0x0,
556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x2, (byte) 0x41, (byte) 0x0, (byte) 0xffffff9d,
557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc4, (byte) 0xffffffcd, (byte) 0x10,
558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffdf, (byte) 0x66, (byte) 0xffffff92,
559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe1, (byte) 0x33, (byte) 0xffffffb1,
560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc9, (byte) 0xffffff9f, (byte) 0xffffffb7,
561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffdd, (byte) 0xffffff84, (byte) 0x4b,
562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffe5, (byte) 0xffffff86, (byte) 0xfffffff0,
563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x53, (byte) 0x2a, (byte) 0xffffffd5, (byte) 0xffffffc6,
564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x15, (byte) 0xffffff94, (byte) 0xffffffae, (byte) 0x13,
565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x7b, (byte) 0xffffff9d, (byte) 0x37, (byte) 0xffffff8b,
566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffc6, (byte) 0xffffffc6, (byte) 0x78,
567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff9c, (byte) 0x60, (byte) 0xffffff8a, (byte) 0x6f,
568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x35, (byte) 0x39, (byte) 0xffffffe0, (byte) 0x78,
569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x33, (byte) 0x60, (byte) 0xffffff89, (byte) 0x30,
570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x61, (byte) 0xffffff84, (byte) 0xffffff8a,
571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffffbc, (byte) 0xffffff80, (byte) 0x6c, (byte) 0x1c,
572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x55, (byte) 0xffffff96, (byte) 0x50, (byte) 0xffffffb1,
573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0xffffff96, (byte) 0x5, (byte) 0x21, (byte) 0x65,
574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                (byte) 0x55, (byte) 0xffffffbb, (byte) 0xffffffa4
575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        });
576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public TestKeyPair(String algorithmName) throws
579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            NoSuchAlgorithmException {
580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        this.algorithmName = algorithmName;
581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        if (!privateKeyEncoding.containsKey(this.algorithmName)) {
582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            throw new NoSuchAlgorithmException("Encoded form not available for " +
583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    this.algorithmName);
584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        kf = KeyFactory.getInstance(this.algorithmName);
586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public PublicKey getPublic() throws
589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            InvalidKeySpecException {
590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return kf.generatePublic(
591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                new X509EncodedKeySpec(
592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        (byte[])publicKeyEncoding.get(algorithmName)));
593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public PrivateKey getPrivate() throws
596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            InvalidKeySpecException {
597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return kf.generatePrivate(
598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                new PKCS8EncodedKeySpec(
599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                        (byte[])privateKeyEncoding.get(algorithmName)));
600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
603