public static BitmessageAddress generatePrivateAddress(boolean shorter, long stream, Pubkey.Feature... features) { return new BitmessageAddress(new PrivateKey(shorter, stream, 1000, 1000, features)); }
public static BitmessageAddress generatePrivateAddress(boolean shorter, long stream, Pubkey.Feature... features) { return new BitmessageAddress(new PrivateKey(shorter, stream, 1000, 1000, features)); }
public static BitmessageAddress chan(long stream, String passphrase) { PrivateKey privateKey = new PrivateKey(Pubkey.LATEST_VERSION, stream, passphrase); BitmessageAddress result = new BitmessageAddress(privateKey); result.chan = true; return result; }
public static List<PrivateKey> deterministic(String passphrase, int numberOfAddresses, long version, long stream, boolean shorter) { List<PrivateKey> result = new ArrayList<>(numberOfAddresses); Builder builder = new Builder(version, stream, shorter).seed(passphrase); for (int i = 0; i < numberOfAddresses; i++) { builder.generate(); result.add(new PrivateKey(builder)); } return result; }
public BitmessageAddress(String address, String passphrase) { this(address); this.privateKey = new PrivateKey(this, passphrase); this.pubkey = this.privateKey.getPubkey(); if (!Arrays.equals(ripe, privateKey.getPubkey().getRipe())) { throw new IllegalArgumentException("Wrong address or passphrase"); } }
public BitmessageAddress createIdentity(boolean shorter, Feature... features) { final BitmessageAddress identity = new BitmessageAddress(new PrivateKey( shorter, ctx.getStreams()[0], NETWORK_NONCE_TRIALS_PER_BYTE, NETWORK_EXTRA_BYTES, features )); ctx.getAddressRepository().save(identity); if (sendPubkeyOnIdentityCreation) { ctx.sendPubkey(identity, identity.getStream()); } return identity; }
public BitmessageAddress createIdentity(boolean shorter, Feature... features) { BitmessageAddress identity = new BitmessageAddress(new PrivateKey( shorter, ctx.getStreams()[0], ctx.getNetworkNonceTrialsPerByte(), ctx.getNetworkExtraBytes(), features )); ctx.getAddressRepo().save(identity); // TODO: this should happen in a separate thread ctx.sendPubkey(identity, identity.getStream()); return identity; }
public static BitmessageAddress createIdentityFromPrivateKey(String address, byte[] privateSigningKey, byte[] privateEncryptionKey, long nonceTrialsPerByte, long extraBytes, int behaviourBitfield) { BitmessageAddress temp = new BitmessageAddress(address); PrivateKey privateKey = new PrivateKey(privateSigningKey, privateEncryptionKey, createPubkey(temp.getVersion(), temp.getStream(), Security.createPublicKey(privateSigningKey).getEncoded(false), Security.createPublicKey(privateEncryptionKey).getEncoded(false), nonceTrialsPerByte, extraBytes, behaviourBitfield)); BitmessageAddress result = new BitmessageAddress(privateKey); if (!result.getAddress().equals(address)) { throw new IllegalArgumentException("Address not matching private key. Address: " + address + "; Address derived from private key: " + result.getAddress()); } return result; }
public static BitmessageAddress createIdentityFromPrivateKey(String address, byte[] privateSigningKey, byte[] privateEncryptionKey, long nonceTrialsPerByte, long extraBytes, int behaviourBitfield) { BitmessageAddress temp = new BitmessageAddress(address); PrivateKey privateKey = new PrivateKey(privateSigningKey, privateEncryptionKey, createPubkey(temp.getVersion(), temp.getStream(), cryptography().createPublicKey(privateSigningKey), cryptography().createPublicKey(privateEncryptionKey), nonceTrialsPerByte, extraBytes, behaviourBitfield)); BitmessageAddress result = new BitmessageAddress(privateKey); if (!result.getAddress().equals(address)) { throw new IllegalArgumentException("Address not matching private key. Address: " + address + "; Address derived from private key: " + result.getAddress()); } return result; }
public static PrivateKey read(InputStream is) throws IOException { int version = (int) Decode.varInt(is); long stream = Decode.varInt(is); int len = (int) Decode.varInt(is); Pubkey pubkey = Factory.readPubkey(version, stream, is, len, false); len = (int) Decode.varInt(is); byte[] signingKey = Decode.bytes(is, len); len = (int) Decode.varInt(is); byte[] encryptionKey = Decode.bytes(is, len); return new PrivateKey(signingKey, encryptionKey, pubkey); }
public static PrivateKey read(InputStream is) throws IOException { int version = (int) Decode.varInt(is); long stream = Decode.varInt(is); int len = (int) Decode.varInt(is); Pubkey pubkey = Factory.readPubkey(version, stream, is, len, false); len = (int) Decode.varInt(is); byte[] signingKey = Decode.bytes(is, len); len = (int) Decode.varInt(is); byte[] encryptionKey = Decode.bytes(is, len); return new PrivateKey(signingKey, encryptionKey, pubkey); }