public void testValidityPeriodChecking() { Certificate certificate = new Certificate(); certificate.setName(new Name( "/ndn/site1/ksk-1416425377094/KEY/0123/%FD%00%00%01I%C9%8B")); certificate.getMetaInfo().setFreshnessPeriod(3600 * 1000.0d); certificate.setContent(new Blob(PUBLIC_KEY, false)); certificate.setSignature(new Sha256WithRsaSignature()); Sha256WithRsaSignature signatureInfo = (Sha256WithRsaSignature) certificate .getSignature(); signatureInfo.getKeyLocator().setType(net.named_data.jndn.KeyLocatorType.KEYNAME); signatureInfo.getKeyLocator().setKeyName( new Name("/ndn/site1/ksk-2516425377094/KEY")); double notBefore = net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150819T120000"); double notAfter = net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150823T120000"); signatureInfo.getValidityPeriod().setPeriod(notBefore, notAfter); signatureInfo.setSignature(new Blob(SIG_VALUE, false)); Assert.AssertEquals(false, certificate .isInValidityPeriod(net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150819T115959"))); Assert.AssertEquals(true, certificate .isInValidityPeriod(net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150819T120000"))); Assert.AssertEquals(true, certificate .isInValidityPeriod(net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150823T120000"))); Assert.AssertEquals(false, certificate .isInValidityPeriod(net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150823T120001"))); Assert.AssertEquals(false, certificate .isInValidityPeriod(net.named_data.jndn.tests.unit_tests.UnitTestsCommon.fromIsoString("20150921T130000"))); }
public static bool isIdentityCertificate(Certificate certificate) { return isCorrectName(certificate.getName()); }
public void testExtension() { // Now add an extension. String name = "/hello/kitty"; int trustClass = 0; int trustLevel = 300; net.named_data.jndn.encoding.der.DerNode.DerSequence extValueRoot = new net.named_data.jndn.encoding.der.DerNode.DerSequence (); net.named_data.jndn.encoding.der.DerNode.DerOctetString extValueName = new net.named_data.jndn.encoding.der.DerNode.DerOctetString (new Blob(name).buf()); net.named_data.jndn.encoding.der.DerNode.DerInteger extValueTrustClass = new net.named_data.jndn.encoding.der.DerNode.DerInteger (trustClass); net.named_data.jndn.encoding.der.DerNode.DerInteger extValueTrustLevel = new net.named_data.jndn.encoding.der.DerNode.DerInteger (trustLevel); extValueRoot.addChild(extValueName); extValueRoot.addChild(extValueTrustClass); extValueRoot.addChild(extValueTrustLevel); Blob extValueData = extValueRoot.encode(); String oidString = "1.3.6.1.5.32.1"; bool isCritical = true; CertificateExtension certExtension = new CertificateExtension( oidString, isCritical, extValueData); toyCert.encode(); Certificate cert = new Certificate(toyCert); cert.addExtension(certExtension); cert.encode(); Blob certData = cert.getContent(); Data plainData = new Data(); plainData.setContent(certData); // The constructor Certificate(Data) calls decode(). Certificate decodedCert = new Certificate(plainData); Assert.AssertEquals("Wrong number of certificate extensions after decoding", 1, decodedCert.getExtensionList().Count); CertificateExtension decodedExtension = (CertificateExtension) decodedCert .getExtensionList()[0]; Assert.AssertEquals("Certificate extension has the wrong OID after decoding", oidString, "" + decodedExtension.getOid()); Assert.AssertEquals( "Certificate extension has the wrong isCritical value after decoding", isCritical, decodedExtension.getIsCritical()); // Decode and check the extension value. DerNode parsedExtValue = net.named_data.jndn.encoding.der.DerNode.parse(decodedExtension.getValue() .buf()); IList decodedExtValueRoot = parsedExtValue.getChildren(); Assert.AssertEquals( "Wrong number of certificate extension value items after decoding", 3, decodedExtValueRoot.Count); net.named_data.jndn.encoding.der.DerNode.DerOctetString decodedName = (net.named_data.jndn.encoding.der.DerNode.DerOctetString ) decodedExtValueRoot[0]; net.named_data.jndn.encoding.der.DerNode.DerInteger decodedTrustClass = (net.named_data.jndn.encoding.der.DerNode.DerInteger ) decodedExtValueRoot[1]; net.named_data.jndn.encoding.der.DerNode.DerInteger decodedTrustLevel = (net.named_data.jndn.encoding.der.DerNode.DerInteger ) decodedExtValueRoot[2]; Assert.AssertEquals("Wrong extension value name after decoding", name, "" + decodedName.toVal()); Assert.AssertEquals("Wrong extension value trust class after decoding", trustClass, (int) (Int32) decodedTrustClass.toVal()); Assert.AssertEquals("Wrong extension value trust level after decoding", trustLevel, (int) (Int32) decodedTrustLevel.toVal()); }
public void testEncodeDecode() { toyCert.encode(); Blob cert_data = toyCert.getContent(); Data plainData = new Data(); plainData.setName(toyCert.getName()); plainData.setContent(cert_data); // The constructor Certificate(Data) calls decode(). Certificate decoded_cert = new Certificate(plainData); Assert.AssertEquals("Certificate representation changed after encoding", "" + toyCert, "" + decoded_cert); }
public void testDecode() { Data data = new Data(new Name("/tmp")); data.setContent(new Blob(REAL_CERT, false)); // The constructor Certificate(Data) calls decode(). Certificate realCert = new Certificate(data); Assert.AssertEquals("Certificate representation changed after decoding", REAL_CERT_STRING, "" + realCert); }
public void setUp() { toyCertNotBefore = 1388100174000L; toyCertNotAfter = 1388100174000L; Certificate cert = new Certificate(); cert.setNotBefore(toyCertNotBefore); cert.setNotAfter(toyCertNotAfter); cert.setName(new Name( "/test/KEY/ksk-1457560485494/ID-CERT/%FD%00%00%01S%80H%E1%F3")); cert.addSubjectDescription(new CertificateSubjectDescription(TEST_OID, "TEST NAME")); cert.setPublicKeyInfo(new PublicKey(new Blob(PUBLIC_KEY, false))); toyCert = cert; }
public static bool isIdentityCertificate(Certificate certificate) { return(isCorrectName(certificate.getName())); }