* TrustedUpdate:

- Allow method to check if we know about a key
      - Add method to extract without verifying
This commit is contained in:
zzz
2010-02-06 18:47:08 +00:00
parent 7a59d15e9c
commit f7780b6745

View File

@ -178,6 +178,22 @@ D8usM7Dxp5yrDrCYZ5AIijc=
return true;
}
/**
* Do we know about the following key?
* @since 0.7.12
*/
public boolean haveKey(String key) {
if (key.length() != KEYSIZE_B64_BYTES)
return false;
SigningPublicKey signingPublicKey = new SigningPublicKey();
try {
signingPublicKey.fromBase64(key);
} catch (DataFormatException dfe) {
return false;
}
return _trustedKeys.containsKey(signingPublicKey);
}
/**
* Parses command line arguments when this class is used from the command
* line.
@ -410,6 +426,22 @@ D8usM7Dxp5yrDrCYZ5AIijc=
if (!verify(signedFile))
return "Unknown signing key or corrupt file";
return migrateFile(signedFile, outputFile);
}
/**
* Extract the file. Skips and ignores the signature and version. No verification.
*
* @param signedFile A signed update file.
* @param outputFile The file to write the verified data to.
*
* @return <code>null</code> if the
* data was moved, and an error <code>String</code> otherwise.
*/
public String migrateFile(File signedFile, File outputFile) {
if (!signedFile.exists())
return "File not found: " + signedFile.getAbsolutePath();
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;