/***************************** -*- Java -*- ********************************\ * * * Copyright (c) 2009 VeriSign, Inc. All rights reserved. * * * * This software is provided solely in connection with the terms of the * * license agreement. Any other use without the prior express written * * permission of VeriSign is completely prohibited. The software and * * documentation are "Commercial Items", as that term is defined in 48 * * C.F.R. section 2.101, consisting of "Commercial Computer Software" and * * "Commercial Computer Software Documentation" as such terms are defined * * in 48 C.F.R. section 252.227-7014(a)(5) and 48 C.F.R. section * * 252.227-7014(a)(1), and used in 48 C.F.R. section 12.212 and 48 C.F.R. * * section 227.7202, as applicable. Pursuant to the above and other * * relevant sections of the Code of Federal Regulations, as applicable, * * VeriSign's publications, commercial computer software, and commercial * * computer software documentation are distributed and licensed to United * * States Government end users with only those rights as granted to all * * other end users, according to the terms and conditions contained in the * * license agreement(s) that accompany the products and software * * documentation. * * * \***************************************************************************/ package com.verisign.tat.dnssec; /** * Codes for DNSSEC security statuses. * * @author davidb */ public class SecurityStatus { public static final byte INVALID = -1; /** * UNCHECKED means that object has yet to be validated. */ public static final byte UNCHECKED = 0; /** * BOGUS means that the object (RRset or message) failed to validate * (according to local policy), but should have validated. */ public static final byte BOGUS = 1; /** * BAD is a synonym for BOGUS. */ public static final byte BAD = BOGUS; /** * INDTERMINATE means that the object is insecure, but not authoritatively * so. Generally this means that the RRset is not below a configured trust * anchor. */ public static final byte INDETERMINATE = 2; /** * INSECURE means that the object is authoritatively known to be insecure. * Generally this means that this RRset is below a trust anchor, but also * below a verified, insecure delegation. */ public static final byte INSECURE = 3; /** * SECURE means that the object (RRset or message) validated according to * local policy. */ public static final byte SECURE = 4; private byte status; public SecurityStatus() { status = UNCHECKED; } public SecurityStatus(byte status) { setStatus(status); } public static String string(int status) { switch (status) { case INVALID: return "Invalid"; case BOGUS: return "Bogus"; case SECURE: return "Secure"; case INSECURE: return "Insecure"; case INDETERMINATE: return "Indeterminate"; case UNCHECKED: return "Unchecked"; default: return "UNKNOWN"; } } public byte getStatus() { return status; } public void setStatus(byte status) { this.status = status; } }