/* * Copyright (C) 2018, Salesforce. and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Distribution License v. 1.0 which is available at * https://www.eclipse.org/org/documents/edl-v10.php. * * SPDX-License-Identifier: BSD-3-Clause */ package org.eclipse.jgit.lib; import static java.nio.charset.StandardCharsets.US_ASCII; import java.io.Serializable; import org.eclipse.jgit.annotations.NonNull; /** * A structure for holding GPG signature together with additional related data. * * @since 5.3 */ public class GpgSignature implements Serializable { private static final long serialVersionUID = 1L; private byte[] signature; /** * Creates a new instance with the specified signature * * @param signature * the signature */ public GpgSignature(@NonNull byte[] signature) { this.signature = signature; } /** * Format for Git storage. *

* This returns the ASCII Armor as per * https://tools.ietf.org/html/rfc4880#section-6.2. *

* * @return a string of the signature ready to be embedded in a Git object */ public String toExternalString() { return new String(signature, US_ASCII); } /** {@inheritDoc} */ @Override @SuppressWarnings("nls") public String toString() { final StringBuilder r = new StringBuilder(); r.append("GpgSignature["); r.append( this.signature != null ? "length " + signature.length : "null"); r.append("]"); return r.toString(); } }