aboutsummaryrefslogtreecommitdiff
path: root/java/com/google/security/wycheproof/testcases/RsaKeyTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/security/wycheproof/testcases/RsaKeyTest.java')
-rw-r--r--java/com/google/security/wycheproof/testcases/RsaKeyTest.java1374
1 files changed, 1374 insertions, 0 deletions
diff --git a/java/com/google/security/wycheproof/testcases/RsaKeyTest.java b/java/com/google/security/wycheproof/testcases/RsaKeyTest.java
index 26480b6..b761dae 100644
--- a/java/com/google/security/wycheproof/testcases/RsaKeyTest.java
+++ b/java/com/google/security/wycheproof/testcases/RsaKeyTest.java
@@ -23,6 +23,7 @@ import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateCrtKey;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
+import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
import junit.framework.TestCase;
@@ -53,6 +54,1344 @@ public class RsaKeyTest extends TestCase {
+ "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ "0001";
+ /**
+ * Encodings of the public key from ENCODED_PUBLIC_KEY with modifications.
+ * This list so far has just a simple purpose: it is used to check whether parsing the key
+ * leads to some unexpected exceptions. I.e. it should not be possible to crash an
+ * application with an modified public key.
+ */
+ public static final String[] MODIFIED_PUBLIC_KEY = {
+ // length contains leading 0
+ "3082009f300d06092a864886f70d010101050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "3081a13082000d06092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f068200092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f06092a864886f70d0101010582000003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a0300d06092a864886f70d01010105000382008d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "30819f300d06092a864886f70d010101050003818d3082008902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101050003818d30818a0282008100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02820003"
+ + "010001",
+ // wrong length
+ "30a0300d06092a864886f70d010101050003818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "309e300d06092a864886f70d010101050003818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819f300e06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300c06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d060a2a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06082a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101050103818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819e300d06092a864886f70d0101010500038e0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d0101010500038c0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819d300d06092a864886f70d010101050003818b308a02818100ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "30819d300d06092a864886f70d010101050003818b308802818100ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "30819d300d06092a864886f70d010101050003818b308188028200ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "30819d300d06092a864886f70d010101050003818b308188028000ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02040100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02020100"
+ + "01",
+ // uint32 overflow in length
+ "3085010000009f300d06092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a43085010000000d06092a864886f70d010101050003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a43012068501000000092a864886f70d010101050003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a4301206092a864886f70d0101010585010000000003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a3300d06092a864886f70d01010105000385010000008d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a2300d06092a864886f70d01010105000381903085010000008902818100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "0203010001",
+ "3081a2300d06092a864886f70d010101050003819030818d0285010000008100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "0203010001",
+ "3081a3300d06092a864886f70d010101050003819130818e02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02850100"
+ + "000003010001",
+ // uint64 overflow in length
+ "308901000000000000009f300d06092a864886f70d010101050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a8308901000000000000000d06092a864886f70d010101050003818d0030"
+ + "818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c5410"
+ + "0cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4"
+ + "d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984"
+ + "b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315ac"
+ + "f9a0b351a23f0203010001",
+ "3081a8301606890100000000000000092a864886f70d010101050003818d0030"
+ + "818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c5410"
+ + "0cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4"
+ + "d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984"
+ + "b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315ac"
+ + "f9a0b351a23f0203010001",
+ "3081a8301606092a864886f70d010101058901000000000000000003818d0030"
+ + "818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c5410"
+ + "0cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4"
+ + "d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984"
+ + "b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315ac"
+ + "f9a0b351a23f0203010001",
+ "3081a7300d06092a864886f70d0101010500038901000000000000008d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a6300d06092a864886f70d01010105000381943089010000000000000089"
+ + "02818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6"
+ + "e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f1"
+ + "09fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562"
+ + "517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0"
+ + "b351a23f0203010001",
+ "3081a6300d06092a864886f70d01010105000381943081910289010000000000"
+ + "00008100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6"
+ + "e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f1"
+ + "09fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562"
+ + "517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0"
+ + "b351a23f0203010001",
+ "3081a7300d06092a864886f70d010101050003819530819202818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02890100"
+ + "00000000000003010001",
+ // length = 2**32 - 1
+ "3084ffffffff300d06092a864886f70d010101050003818d0030818902818100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "0203010001",
+ "3081a33084ffffffff06092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a330110684ffffffff2a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a3301106092a864886f70d0101010584ffffffff03818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a2300d06092a864886f70d01010105000384ffffffff0030818902818100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "0203010001",
+ "3081a1300d06092a864886f70d010101050003818f3084ffffffff02818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300d06092a864886f70d010101050003818f30818c0284ffffffff00ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a2300d06092a864886f70d010101050003819030818d02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0284ffff"
+ + "ffff010001",
+ // length = 2**64 - 1
+ "3088ffffffffffffffff300d06092a864886f70d010101050003818d00308189"
+ + "02818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6"
+ + "e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f1"
+ + "09fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562"
+ + "517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0"
+ + "b351a23f0203010001",
+ "3081a73088ffffffffffffffff06092a864886f70d010101050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a730150688ffffffffffffffff2a864886f70d010101050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a7301506092a864886f70d0101010588ffffffffffffffff03818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a6300d06092a864886f70d01010105000388ffffffffffffffff00308189"
+ + "02818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6"
+ + "e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f1"
+ + "09fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562"
+ + "517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0"
+ + "b351a23f0203010001",
+ "3081a5300d06092a864886f70d01010105000381933088ffffffffffffffff02"
+ + "818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a5300d06092a864886f70d01010105000381933081900288ffffffffffff"
+ + "ffff00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a6300d06092a864886f70d010101050003819430819102818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0288ffff"
+ + "ffffffffffff010001",
+ // removing sequence
+ "",
+ "30819003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab022042fd"
+ + "9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb1"
+ + "67d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e"
+ + "043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31"
+ + "dad83563f3a315acf9a0b351a23f0203010001",
+ // appending 0's to sequence
+ "3081a1300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00010000",
+ "3081a1300f06092a864886f70d0101010500000003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "010000",
+ // prepending 0's to sequence
+ "3081a10000300d06092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f000006092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b000002818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ // appending unused 0's
+ "30819f300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00010000",
+ "3081a1300d06092a864886f70d0101010500000003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f06092a864886f70d0101010000050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a0300d06092a864886f70d010101050003818e30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "010000",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f00000203"
+ + "010001",
+ // appending null value
+ "3081a1300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00010500",
+ "3081a1300f06092a864886f70d0101010500050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f060b2a864886f70d0101010500050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f06092a864886f70d0101010502050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300d06092a864886f70d010101050003818f0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00010500",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "010500",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818300ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f05000203"
+ + "010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02050100"
+ + "010500",
+ // including garbage
+ "3081a4498030819f300d06092a864886f70d010101050003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a4250030819f300d06092a864886f70d010101050003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a230819f300d06092a864886f70d010101050003818d0030818902818100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "02030100010004deadbeef",
+ "3081a330114980300d06092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a330112500300d06092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a7300f300d06092a864886f70d01010105000004deadbeef03818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a33011260d498006092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a33011260d250006092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a73015260b06092a864886f70d0101010004deadbeef050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a3301106092a864886f70d01010125044980050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a3301106092a864886f70d01010125042500050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a7301506092a864886f70d010101250205000004deadbeef03818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a4300d06092a864886f70d0101010500238192498003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a4300d06092a864886f70d0101010500238192250003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a8300d06092a864886f70d010101050023819003818d0030818902818100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "02030100010004deadbeef",
+ "3081a3300d06092a864886f70d010101050003819130818e4980308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a3300d06092a864886f70d010101050003819130818e2500308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a7300d06092a864886f70d010101050003819530818c30818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "030100010004deadbeef",
+ "3081a3300d06092a864886f70d010101050003819130818e2281864980028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a3300d06092a864886f70d010101050003819130818e2281862500028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a7300d06092a864886f70d010101050003819530819222818402818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f00"
+ + "04deadbeef0203010001",
+ "3081a2300d06092a864886f70d010101050003819030818d02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f22074980"
+ + "0203010001",
+ "3081a2300d06092a864886f70d010101050003819030818d02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f22072500"
+ + "0203010001",
+ "3081a6300d06092a864886f70d010101050003819430819102818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f22050203"
+ + "0100010004deadbeef",
+ // including undefined tags
+ "3081a8aa00bb00cd0030819f300d06092a864886f70d010101050003818d0030"
+ + "818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c5410"
+ + "0cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4"
+ + "d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984"
+ + "b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315ac"
+ + "f9a0b351a23f0203010001",
+ "3081a6aa02aabb30819f300d06092a864886f70d010101050003818d00308189"
+ + "02818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6"
+ + "e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f1"
+ + "09fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562"
+ + "517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0"
+ + "b351a23f0203010001",
+ "3081a73015aa00bb00cd00300d06092a864886f70d010101050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a53013aa02aabb300d06092a864886f70d010101050003818d0030818902"
+ + "818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a730152611aa00bb00cd0006092a864886f70d010101050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a53013260faa02aabb06092a864886f70d010101050003818d0030818902"
+ + "818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a7301506092a864886f70d0101012508aa00bb00cd00050003818d003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a5301306092a864886f70d0101012506aa02aabb050003818d0030818902"
+ + "818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a8300d06092a864886f70d0101010500238196aa00bb00cd0003818d0030"
+ + "818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c5410"
+ + "0cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4"
+ + "d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984"
+ + "b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315ac"
+ + "f9a0b351a23f0203010001",
+ "3081a6300d06092a864886f70d0101010500238194aa02aabb03818d00308189"
+ + "02818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6"
+ + "e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f1"
+ + "09fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562"
+ + "517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0"
+ + "b351a23f0203010001",
+ "3081a7300d06092a864886f70d0101010500038195308192aa00bb00cd003081"
+ + "8902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a5300d06092a864886f70d0101010500038193308190aa02aabb30818902"
+ + "818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a7300d06092a864886f70d010101050003819530819222818aaa00bb00cd"
+ + "0002818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100c"
+ + "b6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0"
+ + "f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b5"
+ + "62517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9"
+ + "a0b351a23f0203010001",
+ "3081a5300d06092a864886f70d0101010500038193308190228188aa02aabb02"
+ + "818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1"
+ + "d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109"
+ + "fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b56251"
+ + "7e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b3"
+ + "51a23f0203010001",
+ "3081a6300d06092a864886f70d010101050003819430819102818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f220baa00"
+ + "bb00cd000203010001",
+ "3081a4300d06092a864886f70d010101050003819230818f02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f2209aa02"
+ + "aabb0203010001",
+ // changing tag value
+ "2e819f300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "32819f300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "ff819f300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f2e0d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f320d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819fff0d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d04092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d08092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300dff092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101030003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101070003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101ff0003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101050001818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101050005818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d0101010500ff818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819e300d06092a864886f70d010101050003818c2e818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c32818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818cff818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818900818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818904818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c308189ff818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f00030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f04030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23fff030100"
+ + "01",
+ // dropping value of sequence
+ "3000",
+ "308192300003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab0220"
+ + "42fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b"
+ + "2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfa"
+ + "e42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa7551556"
+ + "3f31dad83563f3a315acf9a0b351a23f0203010001",
+ // using composition
+ "3081a430013030819e0d06092a864886f70d010101050003818d003081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a33011300106300c092a864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a33011260d06012a0608864886f70d010101050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a4300d06092a864886f70d010101050023819203010003818c3081890281"
+ + "8100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4"
+ + "edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb"
+ + "5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e"
+ + "6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351"
+ + "a23f0203010001",
+ "3081a3300d06092a864886f70d010101050003819130818e3001023081888181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a3300d06092a864886f70d010101050003819130818e2281860201000281"
+ + "80ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ "3081a2300d06092a864886f70d010101050003819030818d02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f22070201"
+ + "0102020001",
+ // truncate sequence
+ "30819e300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00",
+ "30819e0d06092a864886f70d010101050003818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300c06092a864886f70d0101010503818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300c092a864886f70d010101050003818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819d300d06092a864886f70d010101050003818b30818802818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100",
+ "30819d300d06092a864886f70d010101050003818b308188818100ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ // prepend empty sequence
+ "3081a13000300d06092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300f300006092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b300002818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ // append empty sequence
+ "3081a1300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00013000",
+ "3081a1300f06092a864886f70d0101010500300003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "013000",
+ // sequence of sequence
+ "3081a230819f300d06092a864886f70d010101050003818d0030818902818100"
+ + "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9"
+ + "8590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26"
+ + "c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6feb"
+ + "e1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f"
+ + "0203010001",
+ "3081a1300f300d06092a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ "3081a1300d06092a864886f70d010101050003818f30818c30818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ // truncated sequence
+ "300f300d06092a864886f70d0101010500",
+ "30819d300b06092a864886f70d01010103818d0030818902818100ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "308199300d06092a864886f70d010101050003818730818402818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f",
+ // repeat element in sequence
+ "3082012f300d06092a864886f70d010101050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "01000103818d0030818902818100ab9014dc47d44b6d260fc1fef9ab022042fd"
+ + "9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb1"
+ + "67d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e"
+ + "043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31"
+ + "dad83563f3a315acf9a0b351a23f0203010001",
+ "3081a3300d06092a864886f70d010101050003819130818e02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "010203010001",
+ // long form encoding of length
+ "3081a030810d06092a864886f70d010101050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "3081a0300e0681092a864886f70d010101050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "3081a0300e06092a864886f70d01010105810003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "30819f300d06092a864886f70d010101050003818d30818a02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02810301"
+ + "0001",
+ // removing oid
+ "3081943002050003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab"
+ + "022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5ef"
+ + "b40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e17367"
+ + "9cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa755"
+ + "15563f31dad83563f3a315acf9a0b351a23f0203010001",
+ // appending 0's to oid
+ "3081a1300f060b2a864886f70d0101010000050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ // prepending 0's to oid
+ "3081a1300f060b00002a864886f70d010101050003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ // dropping value of oid
+ "30819630040600050003818d0030818902818100ab9014dc47d44b6d260fc1fe"
+ + "f9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00a"
+ + "c5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e1"
+ + "73679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240a"
+ + "a75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ // modify first byte of oid
+ "30819f300d06092b864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ // modify last byte of oid
+ "30819f300d06092a864886f70d010100050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ // truncate oid
+ "30819e300c06082a864886f70d0101050003818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300c0608864886f70d010101050003818d0030818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ // wrong oid
+ "30819b300906052b0e03021a050003818d0030818902818100ab9014dc47d44b"
+ + "6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c1"
+ + "7fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff51"
+ + "7cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fd"
+ + "fc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "30819f300d0609608648016503040201050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ // longer oid
+ "3081a0300e060a2a864886f70d01010101050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ // oid with modified node
+ "30819f300d06092a864886f70d010111050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "3081a33011060d2a864886f70d01018880808001050003818d00308189028181"
+ + "00ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4ed"
+ + "c98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a"
+ + "26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6f"
+ + "ebe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a2"
+ + "3f0203010001",
+ // large integer in oid
+ "3081a8301606122a864886f70d010182808080808080808001050003818d0030"
+ + "818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c5410"
+ + "0cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4"
+ + "d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984"
+ + "b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315ac"
+ + "f9a0b351a23f0203010001",
+ // oid with invalid node
+ "3081a0300e060a2a864886f70d010101e0050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "3081a0300e060a2a80864886f70d010101050003818d0030818902818100ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ // appending 0's to null
+ "3081a1300f06092a864886f70d0101010502000003818d0030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ // appending 0's to bit string
+ "3081a1300d06092a864886f70d010101050003818f0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00010000",
+ // prepending 0's to bit string
+ "3081a1300d06092a864886f70d010101050003818f00000030818902818100ab"
+ + "9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc985"
+ + "90467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2"
+ + "f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1"
+ + "f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02"
+ + "03010001",
+ // modify first byte of bit string
+ "30819f300d06092a864886f70d010101050003818d0130818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ // modify last byte of bit string
+ "30819f300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0000",
+ // truncate bit string
+ "30819e300d06092a864886f70d010101050003818c0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "00",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ // removing integer
+ "3018300d06092a864886f70d0101010500030730050203010001",
+ // appending 0's to integer
+ "3081a0300d06092a864886f70d010101050003818e30818b02818300ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f00000203"
+ + "010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02050100"
+ + "010000",
+ // prepending 0's to integer
+ "3081a0300d06092a864886f70d010101050003818e30818b028183000000ab90"
+ + "14dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590"
+ + "467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8"
+ + "823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f7"
+ + "2295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203"
+ + "010001",
+ "3081a0300d06092a864886f70d010101050003818e30818b02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02050000"
+ + "010001",
+ // dropping value of integer
+ "301a300d06092a864886f70d01010105000309300702000203010001",
+ "30819b300d06092a864886f70d010101050003818930818602818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0200",
+ // modify first byte of integer
+ "30819e300d06092a864886f70d010101050003818c30818902818101ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030000"
+ + "01",
+ // modify last byte of integer
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23e02030100"
+ + "01",
+ "30819e300d06092a864886f70d010101050003818c30818902818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02030100"
+ + "00",
+ // truncate integer
+ "30819d300d06092a864886f70d010101050003818b30818802818000ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a20203010001",
+ "30819d300d06092a864886f70d010101050003818b308188028180ab9014dc47"
+ + "d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d05"
+ + "02c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236"
+ + "ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295db"
+ + "c3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
+ "30819d300d06092a864886f70d010101050003818b30818802818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02020100",
+ "30819d300d06092a864886f70d010101050003818b30818802818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f02020001",
+ // leading ff in integer
+ "30819f300d06092a864886f70d010101050003818d30818a028182ff00ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020301"
+ + "0001",
+ "30819f300d06092a864886f70d010101050003818d30818a02818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0204ff01"
+ + "0001",
+ // infinity
+ "301b300d06092a864886f70d0101010500030a30080901800203010001",
+ "30819c300d06092a864886f70d010101050003818a30818702818100ab9014dc"
+ + "47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d"
+ + "0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f88232"
+ + "36ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295"
+ + "dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f090180",
+ // n=0
+ "301c300d06092a864886f70d0101010500030b0030080201000203010001",
+ // negative n
+ "30819f300d06092a864886f70d010101050003818d00308189028181ff546feb"
+ + "23b82bb492d9f03e010654fddfbd026a99162849f3abeff3491e2b12367a6fb9"
+ + "82fafd3e8031962ff53a104bf4d34e98275bb546c28c3b2f0ef604a5d93d077d"
+ + "cdc900ae8307bbed1e8c9863051bd1fbc490137e06267b4a9dae8190141e08dd"
+ + "6a243c0203e62cdbf558aaeaa9c0ce2527ca9c0c5cea53065f4cae5dc1020301"
+ + "0001",
+ // e=0
+ "30819d300d06092a864886f70d010101050003818b0030818702818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020100",
+ // e=1
+ "30819d300d06092a864886f70d010101050003818b0030818702818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020101",
+ // e=2
+ "30819d300d06092a864886f70d010101050003818b0030818702818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f020102",
+ // negative e
+ "30819f300d06092a864886f70d010101050003818d0030818902818100ab9014"
+ + "dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc9859046"
+ + "7d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f882"
+ + "3236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f722"
+ + "95dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203fe"
+ + "ffff",
+ };
+
private void checkPrivateCrtKey(RSAPrivateCrtKey key, int expectedKeySize) throws Exception {
BigInteger p = key.getPrimeP();
BigInteger q = key.getPrimeQ();
@@ -136,4 +1475,39 @@ public class RsaKeyTest extends TestCase {
"X.509", pub.getFormat());
assertEquals(ENCODED_PUBLIC_KEY, TestUtil.bytesToHex(pub.getEncoded()));
}
+
+ /**
+ * Parses a list of modified encodings of an RSA public key.
+ * Expects that any modification either results in an InvalidKeySpecException
+ * or an altered PublicKey.
+ * This test has mostly "defense in depth" characteristic, since applications should
+ * never accept unauthenticated public keys.
+ */
+ public void testModifiedPublicKeyDecoding() throws Exception {
+ KeyFactory kf = KeyFactory.getInstance("RSA");
+ int cnt = 0;
+ for (String encoded : MODIFIED_PUBLIC_KEY) {
+ X509EncodedKeySpec spec = new X509EncodedKeySpec(TestUtil.hexToBytes(encoded));
+ try {
+ RSAPublicKey unusedKey = (RSAPublicKey) kf.generatePublic(spec);
+ // TODO(bleichen): check the keys that are accepted.
+ // To decide whether a key should have been rejected or not the test vectors must be
+ // divided into several categories:
+ // - keys that use BER encoding: these are OK
+ // - keys that include additional fields or garbage: might be OK
+ // - keys where the modification does not change the values: are probably OK
+ // - keys with missing parameters: should be rejected
+ // - keys with impossible values (negative n, negative e): should be rejected.
+ } catch (InvalidKeySpecException ex) {
+ // expected
+ } catch (Exception ex) {
+ System.out.println("generatePublic throws:" + ex.getMessage() + " for " + encoded);
+ cnt++;
+ }
+ }
+ assertEquals(0, cnt);
+ }
+
+ // TODO(bleichen): This test is only needed as long as there are open issues.
+
}