/* * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
privatestatic PSSParameterSpec genPSSParameter(String digest, int keySize) throws NoSuchAlgorithmException {
int dgLen = MessageDigest.getInstance(digest).getDigestLength(); // pick a salt length based on the key length and digestAlgo int saltLength = keySize / 8 - dgLen - 2; if (saltLength < 0) {
System.out.printf("keysize: %s, digestLen: %s%n", keySize / 8, dgLen); returnnull;
} returnnew PSSParameterSpec(digest, "MGF1", new MGF1ParameterSpec(digest),
saltLength, PSSParameterSpec.TRAILER_FIELD_BC);
}
/** * Compare original KeyPair with transformed ones.
*/ privatestaticvoid testKeyEquals(KeyPair orig, PublicKey pubKey,
PrivateKey priKey) {
if (!orig.getPrivate().equals(priKey)
&& orig.getPrivate().hashCode() != priKey.hashCode()
&& !Arrays.equals(orig.getPrivate().getEncoded(),
priKey.getEncoded())) { thrownew RuntimeException( "PrivateKey is not equal with transformed one");
} if (!orig.getPublic().equals(pubKey)
&& orig.getPublic().hashCode() != pubKey.hashCode()
&& !Arrays.equals(orig.getPublic().getEncoded(),
pubKey.getEncoded())) { thrownew RuntimeException( "PublicKey is not equal with transformed one");
}
}
/** * Test serialization of KeyPair and Keys it holds.
*/ privatestaticvoid testSerialize(KeyPair orig, KeyPair transformed) throws Exception {
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.