private byte[] signAndSerialize(byte[] payload) throws GeneralSecurityException, IOException { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); // Generate signature. byte[] signature = senderSigner.sign(payload); // Write signature length. ByteBuffer signatureLengthBytes = ByteBuffer.allocate(RsaEcdsaConstants.SIGNATURE_LENGTH_BYTES_LENGTH); signatureLengthBytes.putInt(signature.length); outputStream.write(signatureLengthBytes.array()); // Write signature. outputStream.write(signature); // Write payload. outputStream.write(payload); // Return serialized bytes. return outputStream.toByteArray(); } }
private byte[] signAndSerialize(byte[] payload) throws GeneralSecurityException, IOException { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); // Generate signature. byte[] signature = senderSigner.sign(payload); // Write signature length. ByteBuffer signatureLengthBytes = ByteBuffer.allocate(RsaEcdsaConstants.SIGNATURE_LENGTH_BYTES_LENGTH); signatureLengthBytes.putInt(signature.length); outputStream.write(signatureLengthBytes.array()); // Write signature. outputStream.write(signature); // Write payload. outputStream.write(payload); // Return serialized bytes. return outputStream.toByteArray(); } }
private byte[] sign(KeysetHandle privateKeysetHandle) throws GeneralSecurityException { PublicKeySign signer = PublicKeySignFactory.getPrimitive(privateKeysetHandle); return signer.sign(INITIAL_TEXT.getBytes()); }
@Override public byte[] sign(final byte[] data) throws GeneralSecurityException { if (primitives.getPrimary().getOutputPrefixType().equals(OutputPrefixType.LEGACY)) { byte[] formatVersion = new byte[] {CryptoFormat.LEGACY_START_BYTE}; return Bytes.concat( primitives.getPrimary().getIdentifier(), primitives.getPrimary().getPrimitive().sign(Bytes.concat(data, formatVersion))); } return Bytes.concat( primitives.getPrimary().getIdentifier(), primitives.getPrimary().getPrimitive().sign(data)); } };