i2ptunnel:

Change preferred sig type to Ed
   Set permissions on backup tunnel keys file
This commit is contained in:
zzz
2015-11-29 15:11:07 +00:00
parent d5717ca12d
commit 23df322056

View File

@@ -24,6 +24,7 @@ import net.i2p.util.I2PAppThread;
import net.i2p.util.Log; import net.i2p.util.Log;
import net.i2p.util.SecureFile; import net.i2p.util.SecureFile;
import net.i2p.util.SecureFileOutputStream; import net.i2p.util.SecureFileOutputStream;
import net.i2p.util.SystemVersion;
/** /**
* Coordinate the runtime operation and configuration of a single I2PTunnel. * Coordinate the runtime operation and configuration of a single I2PTunnel.
@@ -103,10 +104,17 @@ public class TunnelController implements Logging {
* This is guaranteed to be available. * This is guaranteed to be available.
* @since 0.9.17 * @since 0.9.17
*/ */
public static final SigType PREFERRED_SIGTYPE = SigType.ECDSA_SHA256_P256.isAvailable() ? public static final SigType PREFERRED_SIGTYPE;
SigType.ECDSA_SHA256_P256 : static {
SigType.DSA_SHA1; if (SystemVersion.isARM() || SystemVersion.isGNU() || SystemVersion.isAndroid()) {
if (SigType.ECDSA_SHA256_P256.isAvailable())
PREFERRED_SIGTYPE = SigType.ECDSA_SHA256_P256;
else
PREFERRED_SIGTYPE = SigType.DSA_SHA1;
} else {
PREFERRED_SIGTYPE = SigType.EdDSA_SHA512_Ed25519;
}
}
/** /**
* Create a new controller for a tunnel out of the specific config options. * Create a new controller for a tunnel out of the specific config options.
@@ -185,8 +193,10 @@ public class TunnelController implements Logging {
if (backupDir.isDirectory() || backupDir.mkdir()) { if (backupDir.isDirectory() || backupDir.mkdir()) {
String name = b32 + '-' + I2PAppContext.getGlobalContext().clock().now() + ".dat"; String name = b32 + '-' + I2PAppContext.getGlobalContext().clock().now() + ".dat";
File backup = new File(backupDir, name); File backup = new File(backupDir, name);
if (FileUtil.copy(keyFile, backup, false, true)) if (FileUtil.copy(keyFile, backup, false, true)) {
SecureFileOutputStream.setPerms(backup);
log("Private key backup saved to " + backup.getAbsolutePath()); log("Private key backup saved to " + backup.getAbsolutePath());
}
} }
} catch (I2PException ie) { } catch (I2PException ie) {
if (_log.shouldLog(Log.ERROR)) if (_log.shouldLog(Log.ERROR))