mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8252055: Use java.util.HexFormat in java.security
Reviewed-by: xuelei
This commit is contained in:
parent
1dae45d745
commit
68f2acbf4c
15 changed files with 71 additions and 241 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 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
|
||||
|
@ -27,6 +27,7 @@ package sun.security.util;
|
|||
|
||||
import java.io.PrintStream;
|
||||
import java.math.BigInteger;
|
||||
import java.util.HexFormat;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.Locale;
|
||||
|
@ -318,22 +319,11 @@ public class Debug {
|
|||
return null;
|
||||
}
|
||||
|
||||
private static final char[] hexDigits = "0123456789abcdef".toCharArray();
|
||||
|
||||
public static String toString(byte[] b) {
|
||||
if (b == null) {
|
||||
return "(null)";
|
||||
}
|
||||
StringBuilder sb = new StringBuilder(b.length * 3);
|
||||
for (int i = 0; i < b.length; i++) {
|
||||
int k = b[i] & 0xff;
|
||||
if (i != 0) {
|
||||
sb.append(':');
|
||||
}
|
||||
sb.append(hexDigits[k >>> 4]);
|
||||
sb.append(hexDigits[k & 0xf]);
|
||||
}
|
||||
return sb.toString();
|
||||
return HexFormat.ofDelimiter(":").formatHex(b);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 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
|
||||
|
@ -214,8 +214,8 @@ public class ManifestEntryVerifier {
|
|||
if (debug != null) {
|
||||
debug.println("Manifest Entry: " +
|
||||
name + " digest=" + digest.getAlgorithm());
|
||||
debug.println(" manifest " + toHex(manHash));
|
||||
debug.println(" computed " + toHex(theHash));
|
||||
debug.println(" manifest " + HexFormat.of().formatHex(manHash));
|
||||
debug.println(" computed " + HexFormat.of().formatHex(theHash));
|
||||
debug.println();
|
||||
}
|
||||
|
||||
|
@ -231,25 +231,4 @@ public class ManifestEntryVerifier {
|
|||
}
|
||||
return signers;
|
||||
}
|
||||
|
||||
// for the toHex function
|
||||
private static final char[] hexc =
|
||||
{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
||||
/**
|
||||
* convert a byte array to a hex string for debugging purposes
|
||||
* @param data the binary data to be converted to a hex string
|
||||
* @return an ASCII hex string
|
||||
*/
|
||||
|
||||
static String toHex(byte[] data) {
|
||||
|
||||
StringBuilder sb = new StringBuilder(data.length*2);
|
||||
|
||||
for (int i=0; i<data.length; i++) {
|
||||
sb.append(hexc[(data[i] >>4) & 0x0f]);
|
||||
sb.append(hexc[data[i] & 0x0f]);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ import java.util.ArrayList;
|
|||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
import java.util.Hashtable;
|
||||
import java.util.HexFormat;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
@ -497,8 +498,8 @@ public class SignatureFileVerifier {
|
|||
if (debug != null) {
|
||||
debug.println("Signature File: Manifest digest " +
|
||||
algorithm);
|
||||
debug.println( " sigfile " + toHex(expectedHash));
|
||||
debug.println( " computed " + toHex(computedHash));
|
||||
debug.println( " sigfile " + HexFormat.of().formatHex(expectedHash));
|
||||
debug.println( " computed " + HexFormat.of().formatHex(computedHash));
|
||||
debug.println();
|
||||
}
|
||||
|
||||
|
@ -568,8 +569,8 @@ public class SignatureFileVerifier {
|
|||
debug.println("Signature File: " +
|
||||
"Manifest Main Attributes digest " +
|
||||
digest.getAlgorithm());
|
||||
debug.println( " sigfile " + toHex(expectedHash));
|
||||
debug.println( " computed " + toHex(computedHash));
|
||||
debug.println( " sigfile " + HexFormat.of().formatHex(expectedHash));
|
||||
debug.println( " computed " + HexFormat.of().formatHex(computedHash));
|
||||
debug.println();
|
||||
}
|
||||
|
||||
|
@ -676,8 +677,8 @@ public class SignatureFileVerifier {
|
|||
if (debug != null) {
|
||||
debug.println("Signature Block File: " +
|
||||
name + " digest=" + digest.getAlgorithm());
|
||||
debug.println(" expected " + toHex(expected));
|
||||
debug.println(" computed " + toHex(computed));
|
||||
debug.println(" expected " + HexFormat.of().formatHex(expected));
|
||||
debug.println(" computed " + HexFormat.of().formatHex(computed));
|
||||
debug.println();
|
||||
}
|
||||
|
||||
|
@ -690,7 +691,7 @@ public class SignatureFileVerifier {
|
|||
computed = mde.digestWorkaround(digest);
|
||||
if (MessageDigest.isEqual(computed, expected)) {
|
||||
if (debug != null) {
|
||||
debug.println(" re-computed " + toHex(computed));
|
||||
debug.println(" re-computed " + HexFormat.of().formatHex(computed));
|
||||
debug.println();
|
||||
}
|
||||
workaround = true;
|
||||
|
@ -763,26 +764,6 @@ public class SignatureFileVerifier {
|
|||
}
|
||||
}
|
||||
|
||||
// for the toHex function
|
||||
private static final char[] hexc =
|
||||
{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
||||
/**
|
||||
* convert a byte array to a hex string for debugging purposes
|
||||
* @param data the binary data to be converted to a hex string
|
||||
* @return an ASCII hex string
|
||||
*/
|
||||
|
||||
static String toHex(byte[] data) {
|
||||
|
||||
StringBuilder sb = new StringBuilder(data.length*2);
|
||||
|
||||
for (int i=0; i<data.length; i++) {
|
||||
sb.append(hexc[(data[i] >>4) & 0x0f]);
|
||||
sb.append(hexc[data[i] & 0x0f]);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
// returns true if set contains signer
|
||||
static boolean contains(CodeSigner[] set, CodeSigner signer)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue