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