private static void writeFile(BufferedWriter bw, SignatureFile sf) throws IOException {
        bw.newLine();
        bw.append("<file>");

        bw.newLine();
        bw.append("<path>");
        bw.append(sf.getFile().getAbsolutePath());
        bw.append("</path>");

        bw.newLine();
        bw.append("<algorithm>");
        if (sf.getAlgorithm() != null) {
            bw.append(sf.getAlgorithm());
        }
        bw.append("</algorithm>");

        bw.newLine();
        bw.append("<last_check_date>");
        if (sf.getLastCheckedDate() != null) {
            bw.append(String.valueOf(sf.getLastCheckedDate().getTime()));
        }
        bw.append("</last_check_date>");

        bw.newLine();
        bw.append("<last_check_result>");

        bw.append(String.valueOf(sf.getLastTestResult()));
        bw.append("</last_check_result>");

        bw.newLine();
        bw.append("<signature_date>");
        if (sf.getLastSignedDate() != null) {
            bw.append(String.valueOf(sf.getLastSignedDate().getTime()));
        }
        bw.append("</signature_date>");

        bw.newLine();
        bw.append("<signature>");
        if (sf.getSignature() != null) {
            writeBytes(bw, sf.getSignature());
        }
        bw.append("</signature>");


        bw.newLine();
        bw.append("</file>");
    }