/usr/share/opendnssec/kasp.rnc is in opendnssec-common 1:2.1.3-0.2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | # Copyright (c) 2009 .SE (The Internet Infrastructure Foundation).
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
start = element KASP {
element Policy {
# (short) symbolic name for Policy
attribute name { xsd:string },
# Do not touch contents of zonefile.
element Passthrough { empty }?,
# description of policy (free text)
element Description { xsd:string },
# <Signatures> hold parameters related to signatures
# These will go in the signature category in the DB
# Most of these will be passed to the signer without
# processing.
element Signatures {
# how often should the zone be (re)signed?
element Resign { xsd:duration },
# the signatures are reused for a period of time
# how long time before the expiration of the signature
# should it be refreshed?
element Refresh { xsd:duration },
# for how long should a signature be valid?
element Validity {
element Default { xsd:duration },
element Denial { xsd:duration },
element Keyset { xsd:duration }?
},
# how much should we jitter the signature expiration time?
# (e.g. increase the expiration time by X)
element Jitter { xsd:duration },
# how much should we predate the signature inception time?
element InceptionOffset { xsd:duration },
# Maximum TTL that may be used in a zone.
maxzonettl?
},
# use NSEC or NSEC3?
element Denial { (nsec | nsec3) },
element Keys {
# TTL for DNSKEYs
ttl,
# key retirement safety factor
element RetireSafety { xsd:duration },
# key publication safety factor
element PublishSafety { xsd:duration },
# do the zones share the same keys?
element ShareKeys { empty }?,
# enforcer may purge keys after this amount of time
element Purge { xsd:duration }?,
# Key Signing Keys (KSK) parameters
element KSK {
# generic key definition, see below
anykey,
# Controlling minimize flags Enforcer
element KskRollType { "KskDoubleRRset" | "KskDoubleDS" | "KskDoubleSignature" }?,
# use RFC 5011 for key rollover?
# Not implemented yet
element RFC5011 { empty }?
}*,
# Zone Signing Keys (ZSK) parameters
element ZSK {
# generic key definition, see below
anykey,
# Controlling minimize flags Enforcer
element ZskRollType { "ZskDoubleSignature" | "ZskPrePublication" | "ZskDoubleRRsig" }?
}*,
# Combined Signing Keys (CSK) parameters
element CSK {
# generic key definition, see below
anykey,
# Controlling minimize flags Enforcer
element CskRollType { "CskDoubleRRset" | "CskSingleSignature" | "CskDoubleDS" | "CskDoubleSignature" | "CskPrePublication" }?,
# use RFC 5011 for key rollover?
# Not implemented yet
element RFC5011 { empty }?
}*
},
element Zone {
# Expected propagation delay in child publication
propagationdelay,
# Expected zone SOA parameters
element SOA {
anysoa,
serial
}
},
# Excepted paren parameters for key rollover usage.
# These might be guess or obtained by querying the parent zone
# NOTE: This assumes that all zones with the same policy have
# the same parent or at least parents with the same parameters!
element Parent {
# Expected propagation delay in parent publication
propagationdelay,
# Expected TTL of DS in parent
element DS { ttl },
# Expected parent SOA parameters
element SOA { anysoa },
# Expected time between submit and first publish
registrationdelay?
}
}*
}
serial = element Serial {
# use increasing counter (sync with unsigned zone if possible)
"counter" |
# use increasing counter in YYYYMMDDxx format
"datecounter" |
# use unix timestamp as an 32-bit unsigned integer
"unixtime" |
# keep the serial from unsigned zone (do not resign unless incremented)
"keep"
}
nsec = element NSEC { empty }
nsec3 = element NSEC3 {
# what value for NSEC3PARAM TTL to use? Default 0.
ttl?,
# use global NSEC3 opt-out?
element OptOut { empty }?,
# how often should we resalt? (e.g. create new NSEC3 chains)
element Resalt { xsd:duration },
# NSEC3 hash parameters
element Hash {
element Algorithm { xsd:nonNegativeInteger { maxInclusive = "255" } },
element Iterations { xsd:nonNegativeInteger { maxInclusive = "65535" } },
# Salt length in octets
element Salt {
attribute length { xsd:nonNegativeInteger { maxInclusive = "255" } },
# The actual salt is generated by the Enforcer
# Note: the enforcer may decide to store the
# current salt in the DB and so it could be exported
# here.
xsd:string?
}
}
}
# Generic SOA definition
anysoa = ttl, element Minimum { xsd:duration }
# Generic key definition
anykey = element Algorithm {
attribute length { xsd:positiveInteger },
xsd:nonNegativeInteger { maxInclusive = "255" }
},
element Lifetime { xsd:duration },
element Repository { xsd:string },
# Number of Standby keys
# Makes the rollover faster, since the key is
# already pre-published and ready.
element Standby { xsd:nonNegativeInteger }?,
# Use manual key rollover?
element ManualRollover { empty }?
ttl = element TTL { xsd:duration }
maxzonettl = element MaxZoneTTL { xsd:duration }
propagationdelay = element PropagationDelay { xsd:duration }
registrationdelay = element RegistrationDelay { xsd:duration }
partial = element Partial { empty }
|