Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: AD TCF

...

Code Block
bgColor#ccccff
private static boolean keysEqual(Key key1, Key key2) {
  if (key1.equals(key2)) {
    return true;
  }

  if (Arrays.equals(key1.getEncoded(), key2.getEncoded())) {
    return true;
  }

  // More code for different types of keys here
  // For example, the following code can check whether
  // an RSAPrivateKey and an RSAPrivateCrtKey are equal
  if ((key1 instanceof RSAPrivateKey) &&
      (key2 instanceof RSAPrivateKey)) {
  
    if ((((RSAKey) key1).getModulus().equals(((RSAKey) key2).getModulus()))
       && (((RSAPrivateKey) key1).getPrivateExponent().equals(
           ((RSAPrivateKey) key2).getPrivateExponent()))) {
      return true;
    }
  }
  return false;
}

Automated Detection

...

ToolVersionCheckerDescription
The Checker Framework

Include Page
The Checker Framework_V
The Checker Framework_V

Interning CheckerErrors in equality testing and interning (see Chapter 5)

Bibliography

[API 2013] java.lang.Object.equals(), Object.equals()
[Oracle 2011b]Determining If Two Keys Are Equal (JCA Reference Guide)

...