2010-05-30 22:34:04 +00:00
|
|
|
/***************************** -*- 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;
|
2009-04-19 17:56:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Codes for DNSSEC security statuses.
|
2010-05-30 22:34:04 +00:00
|
|
|
*
|
2009-04-19 17:56:34 +00:00
|
|
|
* @author davidb
|
|
|
|
*/
|
2010-05-30 22:34:04 +00:00
|
|
|
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);
|
2009-04-19 17:56:34 +00:00
|
|
|
}
|
|
|
|
|
2010-05-30 22:34:04 +00:00
|
|
|
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;
|
|
|
|
}
|
2009-04-19 17:56:34 +00:00
|
|
|
}
|