using System.Diagnostics;
using System.Globalization;
using Octokit.Internal;
namespace Octokit
{
///
/// Represents a Signature Verification Object in Git Data Commit Payload.
///
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class Verification
{
///
/// Does GitHub consider the signature in this commit to be verified?
///
public bool Verified { get; protected set; }
///
/// The reason for verified value.
///
[Parameter(Key = "reason")]
public VerificationReason Reason { get; protected set; }
///
/// The signature that was extracted from the commit.
///
public string Signature { get; protected set; }
///
/// The value that was signed.
///
public string Payload { get; protected set; }
internal string DebuggerDisplay
{
get
{
return string.Format(
CultureInfo.InvariantCulture,
"Verification: {0} Verified: {1} Reason: {2} Signature: {3} Payload",
Verified,
Reason.ToString(),
Signature,
Payload);
}
}
}
public enum VerificationReason
{
[Parameter(Value = "expired_key")]
ExpiredKey,
[Parameter(Value = "not_signing_key")]
NotSigningKey,
[Parameter(Value = "gpgverify_error")]
GpgVerifyError,
[Parameter(Value = "gpgverify_unavailable")]
GpgVerifyUnavailable,
[Parameter(Value = "unsigned")]
Unsigned,
[Parameter(Value = "unknown_signature_type")]
UnknownSignatureType,
[Parameter(Value = "no_user")]
NoUser,
[Parameter(Value = "unverified_email")]
UnverifiedEmail,
[Parameter(Value = "bad_email")]
BadEmail,
[Parameter(Value = "unknown_key")]
UnknownKey,
[Parameter(Value = "malformed_signature")]
MalformedSignature,
[Parameter(Value = "inavlid")]
Invalid,
[Parameter(Value = "valid")]
Valid
}
}