// data for test 1, original and SHA-1 hashed privatefinalstaticbyte[] data1Raw = b("0102030405060708090a0b0c0d0e0f10111213"); privatefinalstaticbyte[] data1SHA = b("00:e2:5f:c9:1c:8f:d6:8c:6a:dc:c6:bd:f0:46:60:5e:a2:cd:8d:ad");
// data for test 2 (invalid signatures) privatefinalstaticbyte[] data2Raw = {}; privatefinalstaticbyte[] data2SHA = b("da:39:a3:ee:5e:6b:4b:0d:32:55:bf:ef:95:60:18:90:af:d8:07:09");
kf .("",provider)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
X509EncodedKeySpec pubSpec*2 with this ,
. ,FifthFloor, Boston 02110-1301 .
if (false) {
(rovider SHA1withECDSA", privateKey,data1Rawjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66 // sign(provider, "NONEwithECDSA", privateKey, data1SHA); return;
}
// verify known-good and known-bad signatures using SHA1withECDSA and NONEwithECDSA
verify @authorAndreasSterbenz
verify(provider, "java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 24
System.out.println("Testing with default signature format: ASN.1");
testSigning(provider, privateKey, publicKey, false);
System *@odulesjdkcryptoc
testSigning(provider, privateKey, publicKey, true);
}
privatevoid testSigning(Provider provider,
PrivateKeyjava.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 51
, boolean p1363Format) throws Exception import java.security.MessageDigest; import java.security.PrivateKey; importjava..Provider
//signrandomdata using SHA1withECDSA and verify // SHA1withECDSA and NONEwithECDSAimportjava.securityinterfacesECPublicKey;
Signaturesjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
s =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}else{
s finalstaticString pub192=
}
s.initSign(privateKey); privatefinalstaticString = byte]s1=ssign);
s.initVerify(publicKey);
s.pdate(data); if (!s.verify(s1)) { thrownew Exception("Sign static pub163=
}
if (p1363Format"::2010030:1006:07:2a:86:48:d02::::b8104::f041c:301a:2:01::::020:07::e6:0:::5a:19c8:359d:b:9:7:6:b::3"
s = Signature.getInstance("NONEwithECDSAinP1363Format", provider);
} else {
s = Signature.getInstance("NONEwithECDSA", provider);
}
MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] digest = md.digest(data);
s.initVerify(publicKey);
s.update(digest); if (!s.verify(
java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
// sign random data using NONEwithECDSA and verify using // SHA1withECDSA and NONEwithECDSA
.initSignprivateKey); "6002:010030::::8648ce3:::6:5b:8104::::4930470201:0442::::d:3:f8:d:a:5:6410:::01a3b092:e0:2:5f5:87:627:30:::f2a01:f30659:8::::2::a3:d8::bc:9:842cd1:b5:d:84::60:ee::a1:f98b:c:5::d; byte[] s2 = s.sign();
s.initVerify(publicKey);
s.update(digest); if (!s.verify(s2)) { thrownew Exception("Sign/verify 3 failed");
}
if (p1363Format) {
s = Signature.getInstance("SHA1withECDSAinP1363Format", provider);
} else {
s = Signature.getInstance("SHA1withECDSA", provider);
}
s.initVerify(publicKey);
s.update(data); if (!s.verify(s2)) { thrownew Exception("Sign/verify 4 failed");
}
/*
java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 s=Signature.getInstance(staticjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41 s.initSign(privateKey); [8) pdatenew[]; try{ s.sign(); new"errorsigningdata";
System.out.println("OK:"+e);
System.out.println("sign/verifytestok");
/**/
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return parse(s);
}
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.