// Test additional fields
enlarge(0, "8000"); // attributes
enlarge(1, "810100"); // public key for v2
enlarge(1, "8000", "810100"); // both
Assert.assertThrows(() -> enlarge(2)); // bad ver Assert.assertThrows(() -> enlarge(0, "8000", "8000")); // no dup Assert.assertThrows(() -> enlarge(0, "810100")); // no public in v1 Assert.assertThrows(() -> enlarge(1, "810100", "8000")); // bad order Assert.assertThrows(() -> enlarge(1, "820100")); // bad tag
}
/** *AddmorefieldstoEXPECTEDandseeifit'sstillvalidPKCS8. * *@paramnewVersionnewversion *@paramfieldsextrafieldstoadd,inhex
*/ staticvoid enlarge(int newVersion, String... fields) throws IOException { byte[] original = EXPECTED.clone(); int length = original.length; for (String field : fields) { // append fields byte[] add = HexFormat.of().parseHex(field);
original = Arrays.copyOf(original, length + add.length);
System.arraycopy(add, 0, original, length, add.length);
length += add.length;
} Assert.assertTrue(length < 127);
original[1] = (byte)(length - 2); // the length field inside DER
original[4] = (byte)newVersion; // the version inside DER
PKCS8Key.parseKey(original);
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.