From 2876649a4e6bbcf311ed28195e8b37da313d4485 Mon Sep 17 00:00:00 2001 From: David Blacka Date: Sat, 30 Mar 2024 22:21:32 -0400 Subject: [PATCH] EdDSA, sonarlint fixes, and cleanup (#16) * update commons-cli, dnsjava, remove gradle, set to java 17 * use baseAlgorithm enum instead of static ints * sonarlint changes * sonarlint/formatting for SignUtils * sonarlint, formatting for RecordComparitor and JCEDnsSecSigner * update a few defaults * redo the SignZone logic around finding keys; more output for it. * refactor getVerifier() * sonarlint and formatting for the rest * use SunEC for the algs 15, 16; support alg 16 finally * address my self-review comments --- .gitattributes | 6 - build.gradle | 25 - build.properties | 4 +- build.xml | 10 +- gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 5 - gradlew | 185 ---- gradlew.bat | 89 -- lib/commons-cli-1.5.0.jar | Bin 58284 -> 0 bytes lib/commons-cli-1.6.0.jar | Bin 0 -> 59528 bytes lib/{dnsjava-3.5.1.jar => dnsjava-3.5.3.jar} | Bin 532006 -> 537133 bytes lib/eddsa-0.3.0.jar | Bin 59519 -> 0 bytes .../com/verisignlabs/dnssec/cl/DSTool.java | 9 +- .../com/verisignlabs/dnssec/cl/KeyGen.java | 8 +- .../verisignlabs/dnssec/cl/KeyInfoTool.java | 6 +- .../verisignlabs/dnssec/cl/SignKeyset.java | 41 +- .../com/verisignlabs/dnssec/cl/SignRRset.java | 37 +- .../com/verisignlabs/dnssec/cl/SignZone.java | 134 ++- .../verisignlabs/dnssec/cl/ZoneFormat.java | 1 - .../dnssec/security/BINDKeyUtils.java | 107 +- .../dnssec/security/ByteArrayComparator.java | 2 +- .../dnssec/security/DnsKeyAlgorithm.java | 305 +++--- .../dnssec/security/DnsKeyConverter.java | 133 +-- .../dnssec/security/DnsKeyPair.java | 37 +- .../dnssec/security/DnsSecVerifier.java | 8 +- .../dnssec/security/JCEDnsSecSigner.java | 358 +++---- .../dnssec/security/RecordComparator.java | 37 +- .../dnssec/security/SignUtils.java | 971 ++++++++---------- .../verisignlabs/dnssec/security/TypeMap.java | 28 +- .../dnssec/security/ZoneUtils.java | 19 +- .../dnssec/security/ZoneVerifier.java | 17 +- 31 files changed, 1008 insertions(+), 1574 deletions(-) delete mode 100644 .gitattributes delete mode 100644 build.gradle delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100755 gradlew delete mode 100644 gradlew.bat delete mode 100644 lib/commons-cli-1.5.0.jar create mode 100644 lib/commons-cli-1.6.0.jar rename lib/{dnsjava-3.5.1.jar => dnsjava-3.5.3.jar} (55%) delete mode 100644 lib/eddsa-0.3.0.jar diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 00a51af..0000000 --- a/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -# -# https://help.github.com/articles/dealing-with-line-endings/ -# -# These are explicitly windows files and should use crlf -*.bat text eol=crlf - diff --git a/build.gradle b/build.gradle deleted file mode 100644 index fe7f1ed..0000000 --- a/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -/** - -Declares dependencies for Jdnssec-tools - -**/ - -apply plugin: 'java' -apply plugin: 'eclipse' -apply plugin: 'idea' - -jar { - baseName = 'jdnssec-tools' - version = '0.17.1' -} - -repositories { - mavenCentral() -} - -sourceCompatibility = 1.8 -targetCompatibility = 1.8 - -dependencies { - compile fileTree(dir: 'lib', include: '*.jar') -} diff --git a/build.properties b/build.properties index b4d59bd..5fd8860 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,3 @@ -#build.compiler=jikes -#build.compiler=modern build.deprecation=true +build.debug=false +build.java_version=17 diff --git a/build.xml b/build.xml index a48e9df..d7fb0ff 100644 --- a/build.xml +++ b/build.xml @@ -44,11 +44,11 @@ + debug="${build.debug}" + release="${build.java_version}" /> @@ -154,13 +154,11 @@ - - - + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59203 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

K7UpUK$>l@ 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 E2O(~oYXATM diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 4d9ca16..0000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew deleted file mode 100755 index 4f906e0..0000000 --- a/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index ac1b06f..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/lib/commons-cli-1.5.0.jar b/lib/commons-cli-1.5.0.jar deleted file mode 100644 index e03645653bcd81b7ecdf1c98bf62d304e134fabe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58284 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

qZ$3q^z_%H2~pE>li1uUP-rcv*s;N~&!$M6X8 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 N1Wwpq1PCC|{{Ze#ba4Ox literal 0 HcmV?d00001 diff --git a/lib/dnsjava-3.5.1.jar b/lib/dnsjava-3.5.3.jar similarity index 55% rename from lib/dnsjava-3.5.1.jar rename to lib/dnsjava-3.5.3.jar index 6333f863a9df56283151c67bf4ff162052f2bd43..a07936b8c3c22077b109bfeb7d2768145e444710 100644 GIT binary patch delta 207462 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�RAR|7v&KqIGuUr&1C`Rj$A|8622z) zMtAKAA*K!h^MkGj_o$+!Se->gYjFPiSE_bQ@?YF~-uUSNQPi+<5I8@HKF zL@uRoX-RPPXJ<9NZ0)w&1VeJA0AO7_r#7dcE0PU=?}Y7gcY`2|?GngC zFGbncrErH@b3^!Ty>`Eq1A*QVrA5|B#!Hzx_&b}<(~T^v@|(DKReq-tzfy-3K$R=I z$f`^Jz`IwzHEq05*eH82-{>f$G?RZth76jHb^MzGJ?@&34(|fX?C~JS@6w`g3F6_$ zH#U9FU!;v?ap}6+!;B@Yi`l;QebxrDI^{?SNEKgunrQK3;aq{^DxkrqSxl3+hRMaL zaO(2RK?UgH^R9L?8LcBPY1qwOJL$#E!NMiTr3qs>^TkNz(~L_`SR$A7uDFCRx~gDUF6BW zkqw|^K=+e4_(=G^OeoE+6*vBI6lyRxHd`V#v$Cj>k~vgfnf|E?X!VRa(yBE>p1iSw zD~V3VRkfdHMKK?40WmY0-~|Gc(Fzf{+j9h>dLXrF@W1SD)2{bqZ!HP0Z0}XPj6Z41 z$w5}Il%&p^IVM?$>&?vH_q(w;6d~5gaN%#OvK5?aco9cRHsWagF&e$wc_!MV9Nr?Ug*!uuYs6( za!r+0$x4$g>cX^n>I^Au9u5ey1%Nz?_$!@;;~TW```;-0^vW_%p5*x-gd)mR)KwO`O; zdabv>RcLY<9oGFbL=B?tubXzPOH|Mb2ZUnHy>wsiR|TXz@zc|dv)Fs*yV9cLRmsx_ zl!P}mGPQ99u1OruL*t;x5cp}8KjcgVhFmMmiMld78EsdGj;78Es2gCEt_5RqT5wt5lQBg!pBD(eI` zF%l5^Pj*i=k|_AYryB=`f;;7Ya3#6EQ=h)feYyTrov$W2B#Hn11!SRL3+QQmGYi3b*VP5fTXWjC+kL#@|&b`l5ilHTg2r?$KfN zQAdUP8^^tyebYDFc#*@%T|?qF7G$^~;IEk@d6(dn=aPdsSs2^L(NUpN@~9qvrcxX0 z@l&pmB>c=etw)Q&dOcnWPp0vCHfv$K`E*E%qC1c*;Ru{K8LzOD=}&Jq{dO@(D40Hp zA(T;2;a_lnFOK@QIj} zcHD`in?8g~1pC+;f225kFtlcr0s1CXv+=N8t2s;~wdQ)2u9Q`bZvl1clh#u6&>yYH zBP1jLFMy^n}k*o@M^W8!RPci zs;@lk#Zp>fbQvRJSWVY|93{=uNtd*nIA(BE_e(R?%;muoGkK=*tKc#BxJaTA&k<-1 z@ANtL&Y5Pnt#ja@60mgfS?j`zQ|Bh+o_f;TtY9)(V0eJy>me7@6yCc(Lfwd)BMT24 z#p+8Z$*cE%p=6oiraZ+PP_Xgcn6XwNHnb&J;^m(d_?;lFmGW` zZ^3|c^wU1pAcH~}d9)vT04;-OB&*BQ#j2M*9thdZ4vAl#1FprH)glOnN1O5oqsJ}n z)SI=9>Y|h>ml;pY0pf*C{_PM<)c!_?P;g`Gfa~!Wq3853mxyP1ptDX6M&I>8ABd~K1Kx4Owcqn)%tg^(?Je(=~wr@=R0zO(xWfbkQ!xbU1o%iw!3CnKUSAR_c zD1CvK^L(A<{v^P}OEb;4cXc7X|9}cFfx+01KPthYZd@6ECg*Lxr%Z~KD6zNXqr`Nx zx7VL>-nZwQG8sby4BC(IOGHLAWa2bK$rMtHS~)nE;K)I`vE~y{aI_`DB>D}RRe$n4 zx!F;Q6g5y|rk^RRTSPTn#?nu1=L;>SkYnq7)o~ zHixY#OxKP<10m$2AjyAHMzB0G!{qjI)Bx5(nH@;#Jj z%(F+bRKc1H9}jsE0l(zTE{scDYF1_?eFRk;O=0>#&k&_8LTs>gqgv^=>QVoG+E+yM zXm`O+J-*O(zy%{eS4)Il%Mr19cH=Wk8b-J|YN71?UWgQW5Bw>g|u=y0{FbCCxe8*9e0Ly-v-NB6n- z3#`NI1Bb2p7b^Yf4=l=2YFNz4@T$ddNea$9oP9^SKo0pR^L=qH<;6NmuDbq`@Mv^O zT^mA(jDm9VXYvxM)z)-@UFwl-4#v1w>PkAn=nqoQ95QV&r`fk5rDbORJ&09jylcl_ zW-}AMkFw{adlSk#CIXXRAj;2^AZL`Wb5@qFwJ{aV7u*iG(Lk&+a25_Cx&2;-J?EJ{5RV^J6Ejw)%z9W9gFnaVo%p@ zAD=<@03}oikE{hY<43M$5y+yCZ+=LQ(*8*L5nJ@u33w|XLMtDh3!y9UCk9fD%|^e0ymz9RC^%xU|U>|0ax?ClXm z+~bej>k4k=@;pfjx#i_PW_>I^K$%1j;kJ>H^bub>o{$T|saUi&4g#JVR065TeJOev z2iRb)sHq2DAFe=4_yuXFoCrRzGOKlS_I_)GFq=6VoH7+w^&*q<@%S1ZIq|!RwiQ)~ zmG!M^^AWW%)b+H)$n^#V7*87`KjQA6z3?n&G0#_M0F)DIKWS1BJYnAnaNw#;PT(Ge z8_-F!;5SHhvoU?cX8yt{a%2zXP+}Kjcz@RvSX^r`{Aa{L>#DL&`0$0FGXsTYI?834M&ztpR9%|o+7dlv%0gGt zm^q`rHiywrBx*<1h);bQ__@3&++s&%PEN&+4=K$ZSigv^Rkr zPhp0_BV>PDEG?91%BM{p?ovlPtWyzTy|6FeV(2@TAv2fRK{6V!c`qeHr*UC)fQCb3 z%s9I(EEpfc-jFFaARsd-NSNhXUMl|PdRL}j*9R7kOS=GUTYT9Z_)G2&o*YKKm6<0| z)P5G+lZCFc7||meAEe$#wmx<>zJ4}#y#Xd#PuWF3WzB^*Xnc}W_Yu!Z=jD^1SyVHb z_tz6q;}aq;&Wo;^Vab9bNv|$22PN$8nU2u5^5$}a4Byx%O-tf%&GU1z)Flr}1+*6w z@L*WE9P_6qSjf)qfw^(FYMxG_lO+}7R+eJzy?m{4lz@7J``Pmt0r ztrJ12JszRw-!dDvV!?5q?fN7CPjl9?W;O!-`JP9_mmRI;03cdDhCv=3wi>>a1zv}O z#?}D(Z)@~kyjg#PNyIj(j0b`PGJB(G{PJp!)*ts(fuh`G$4LhIQG7{p}yx*_f=E8{MqGVpLAKOU37E)3d}p zt>U!dkv@u@KuHD^cZo9PW`hDoQ%;3e*VOpj+%U|tf>m=eFPe~y{@~NrrO+(#+3XTX zxuU5Km=Gh$9Cz3RgdaRTQww=Bk7WqB_7n5mz8PI!RBBbpOO=ZJz0X+JcI!pd9go<5 zzJSd82M<`knOw{6NNaZax= zE~}nhbGI;LKMJ!a>k0DFBx@z0bj19Ah2K?KUO%1VA+WauMtL9GUT+1knx(A;T?#2> zvZao|!zcK}7lv2BIvhfv~LoeKHeEKtcBaUV7X00O^LYgc*#H7 z=OgU^<)5GhB#C;ATA^ZQ1{{B$oBmi2t(u1TF`>XBK-61y%lsxC!;Fa(7fEQ!=SP`j zRN2Q+>MxQ7x|!5Zs=67@(CuY7=m2L#zPBF5PKhRy$Gy}@84CK|Msw?NhAQ5aY<26w zjiH^R&eNrgW$uNE#Wt>)7g!#M?TAYTzg!Uq-D5;;{Fc1xLB0$Q&IixWl7qJ|&1 znWtd8fz1d<*NMcinR+5oo=)%Xz!3!gAz{D8S;if&W2|>fB6r*kV-%RyCW>U1Xier5 zaKfupaVD-lM&Pu=pU%MhlF(QNt^lJdZ;QqWcyxNWH$z>6z}hu+p`BSLU(xjEq~se?zgC^K zWvkx+zZeuZo0o48cf`3XKf?SNRrFL~xl`6J-D%-FWGaXLgVf@iWJ_(mm__cSI#zph zUmn|ni5-ta9`_mVu#l3v~%CEASUv-!S2j@qK$qp%~ zGUW6L>S4(42U625wxMdo*{qqKq$te=<#h7RU+5D~@ls|MlL&F5>5%4(ux0ut_GUp3SI z2C0!`9vr|8_ga@icPjT>N^tyq^s3;iOpfa0Ne*g&Z53Gg|nre{p{&g%~&GU-) z9RtmJxhgjl6BVofLG$bAFI!gyl?fJ)9Vaetv(Bk&un0<&(CHU0sNHvrN5mM=O#02$fR%LYHCu`|`GLW2_Yw>^#teG& zjA~6nOIUHNYlR?EbT0@leJxRJ5X30GD-xdbqf(W!&QtfJsGRIehibrwF7S{+QhT0J z6@WjlshnBt_A(=gaY_6YF2STg0fzc=>#B23PVA}B#kl0i3lv+WU8o$a4*VtIjwf-{ zS#K8K5-5Rget;+*LU_^SEeZ-0>3sSeG5d;LLTI8V@FQ|I@8_Lh$m8(`1dCwn+on{x z>VQ_&Yk45kHtipH(qk=wRi=EspaKJY%0Df11rvHDlfYnSjatGP_8@*Ojj*Bb7fIhI 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 z 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

N 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 z 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 z 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 diff --git a/lib/eddsa-0.3.0.jar b/lib/eddsa-0.3.0.jar deleted file mode 100644 index 22c098193aea3488201b0bdb460c003e39f766e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59519 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

;L%`Sb@ze1_!3b;WLH%QURTtxCMRMH-n3; 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�z6`!$Q4sfOx=*KNw??3yhI(#-VXfO&`DD~ft8o(_`R$E+5!+A+LuI_Fx zHl|e@zmjr`iQqbJ^e~Bupw`t^rE8IM5TUS>9e9ANq&f*NuxKtuToW?QVM>2j-gh4C zsm7a95*P_83BDo%sW`9Kh`c}!@HJr~EkBWwfHPc#i~N5nVXT`~Kfs%Y%dzBYBod2@N@bg^#ReSzdHC^1-Yp<_R0O9vVoUa_pV@pA;416=NoPh%nn&Zdd<`m-Y<$EPe{62PcK zwR|-jNWAe*H=rI#eGki-7Y0C^n6k|SJ()PU9lID_j z_rTYd~9XshsDM?7k$w|2UKb-^rEdP}O0VF~CS@w}kD6W0f zRMA%yJPTC?>47(z75eY|#0D;40UQ0=l|RelfVGs3zsxihp=VW9^z?-^Rf!2}1|WOL z_X097{Ve-PmK8m~XD683zckk_S+@YMIQ%SY7V+Tongv|cd0Q)x^Y4GGs{hBz2I=YS zhS=7aVcnKwO>+9*#xPr3SF3*^X7xTkw*=`d(r0Tlnp7ulQ&AtlGU z?;(%(9pY>1F&6)oFVH)j#K@IB7y@BZs+IDNE2F!DFpfTm?Q9Upc z_5w$bZU9DrXF*#7wUKZSD>vAd+pp{h zaX=`j#ozNcZ|pFxJ`o|1>L+OLkCfo+0>uGiAbtO)bkGv2RyJ-3dstav6*x=3 z4=e+)&in4L8EBuaklI#oq#Dc#hO`3Y&3*M*88YGmlL`jF4{ZRaN^b!+aDzMk%p*(O zu4{nxd585EZEX@D1xa5vb<-8xuK$_|+{Uea z^-PeOz+JG`Lork&Bx1k(TJrS1Iu!T)tnY%P%JD&Tek3@}EpWW&Y^^ql##!1~Rx zHUE*YH(5HkK|TPDjTNv3zf)T`^!ExtLG##tU)pGE0qg`O-xLU_gYJ~r&_d^-e-r>? z?k_sQl~X1$4|KveaGQv4kf6~1qr~qz=v!Gk!Zsh=YtYSyBcf>WiUVfN{+7MD*Tk!~t)q(rB;B_oe;yJbPzAk@*At^w;lH1X|0IK#A{3ZCXWUDk-T{u z5a*8njWoZp9dcvdPGU!i6OsR>+J$UKB}z+9j9tU5-@lye%*{uz!QwF1!-8?oQSY2nt9#R2qjf5Y1{NgS~d@eAL-g;GoZ523&B5#m>^ehbD|{~vW|$ZR$B`Lk9~i4z5U(V(SHG!QTJ{D diff --git a/src/main/java/com/verisignlabs/dnssec/cl/DSTool.java b/src/main/java/com/verisignlabs/dnssec/cl/DSTool.java index 3054555..0fba4a8 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/DSTool.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/DSTool.java @@ -56,7 +56,7 @@ public class DSTool extends CLBase { public dsType createType = dsType.DS; public String outputfile = null; public String keyname = null; - public int digestId = DNSSEC.Digest.SHA1; + public int digestId = DNSSEC.Digest.SHA256; public CLIState() { super("jdnssec-dstool [..options..] keyfile"); @@ -71,7 +71,8 @@ public class DSTool extends CLBase { protected void setupOptions(Options opts) { opts.addOption(Option.builder("D").longOpt("dlv").desc("Generate a DLV record instead.").build()); opts.addOption(Option.builder("C").longOpt("cds").desc("Generate a CDS record instead").build()); - opts.addOption(Option.builder("d").hasArg().argName("id").longOpt("digest").desc("The digest algorithm to use").build()); + opts.addOption( + Option.builder("d").hasArg().argName("id").longOpt("digest").desc("The digest algorithm to use").build()); opts.addOption(Option.builder("f").hasArg().argName("file").longOpt("output").desc("output to file").build()); } @@ -120,9 +121,9 @@ public class DSTool extends CLBase { log.fine("creating CDS."); CDSRecord cds = new CDSRecord(ds.getName(), ds.getDClass(), ds.getTTL(), ds.getFootprint(), ds.getAlgorithm(), ds.getDClass(), ds.getDigest()); - res = cds; + res = cds; } - + if (state.outputfile != null && !state.outputfile.equals("-")) { try (PrintWriter out = new PrintWriter(new FileWriter(state.outputfile))) { out.println(res); diff --git a/src/main/java/com/verisignlabs/dnssec/cl/KeyGen.java b/src/main/java/com/verisignlabs/dnssec/cl/KeyGen.java index 16b292b..f757d75 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/KeyGen.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/KeyGen.java @@ -44,8 +44,8 @@ public class KeyGen extends CLBase { * state. */ protected static class CLIState extends CLIStateBase { - public int algorithm = 8; - public int keylength = 1024; + public int algorithm = 13; + public int keylength = 2048; public boolean useLargeE = true; public String outputfile = null; public File keydir = null; @@ -77,10 +77,10 @@ public class KeyGen extends CLBase { String[] algStrings = DnsKeyAlgorithm.getInstance().supportedAlgMnemonics(); String algStringSet = String.join(" | ", algStrings); opts.addOption(Option.builder("a").hasArg().argName("algorithm") - .desc(algStringSet + " | alias, RSASHA256 is default.").build()); + .desc(algStringSet + " | alias, ECDSAP256SHA256 is default.").build()); opts.addOption(Option.builder("b").hasArg().argName("size").desc( - "key size, in bits (default 1024). RSA: [512..4096], DSA: [512..1024], DH: [128..4096], ECDSA: ignored, EdDSA: ignored") + "key size, in bits (default 2048). RSA: [512..4096], DSA: [512..1024], DH: [128..4096], ECDSA: ignored, EdDSA: ignored") .build()); opts.addOption(Option.builder("f").hasArg().argName("file").longOpt("output-file") .desc("base filename from the public/private key files").build()); diff --git a/src/main/java/com/verisignlabs/dnssec/cl/KeyInfoTool.java b/src/main/java/com/verisignlabs/dnssec/cl/KeyInfoTool.java index 25df385..5df30b2 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/KeyInfoTool.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/KeyInfoTool.java @@ -84,13 +84,13 @@ public class KeyInfoTool extends CLBase { + " (" + dnskey.getAlgorithm() + ")"); System.out.println("ID: " + dnskey.getFootprint()); System.out.println("KeyFileBase: " + BINDKeyUtils.keyFileBase(key)); - int basetype = dnskeyalg.baseType(dnskey.getAlgorithm()); + DnsKeyAlgorithm.BaseAlgorithm basetype = dnskeyalg.baseType(dnskey.getAlgorithm()); - if (basetype == DnsKeyAlgorithm.RSA) { + if (basetype == DnsKeyAlgorithm.BaseAlgorithm.RSA) { RSAPublicKey pub = (RSAPublicKey) key.getPublic(); System.out.println("RSA Public Exponent: " + pub.getPublicExponent()); System.out.println("RSA Modulus: " + pub.getModulus()); - } else if (basetype == DnsKeyAlgorithm.DSA) { + } else if (basetype == DnsKeyAlgorithm.BaseAlgorithm.DSA) { DSAPublicKey pub = (DSAPublicKey) key.getPublic(); System.out.println("DSA base (G): " + pub.getParams().getG()); System.out.println("DSA prime (P): " + pub.getParams().getP()); diff --git a/src/main/java/com/verisignlabs/dnssec/cl/SignKeyset.java b/src/main/java/com/verisignlabs/dnssec/cl/SignKeyset.java index fc2dbf5..86a0776 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/SignKeyset.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/SignKeyset.java @@ -75,10 +75,14 @@ public class SignKeyset extends CLBase { opts.addOption("a", "verify", false, "verify generated signatures>"); // Argument options - opts.addOption(Option.builder("D").hasArg().argName("dir").longOpt("key-directory").desc("directory where key files are found (default '.').").build()); - opts.addOption(Option.builder("s").hasArg().argName("time/offset").longOpt("start-time").desc("signature starting time (default is now - 1 hour)").build()); - opts.addOption(Option.builder("e").hasArg().argName("time/offset").longOpt("expire-time").desc("signature expiration time (default is start-time + 30 days)").build()); - opts.addOption(Option.builder("f").hasArg().argName("outfile").desc("file the signed keyset is written to").build()); + opts.addOption(Option.builder("D").hasArg().argName("dir").longOpt("key-directory") + .desc("directory where key files are found (default '.').").build()); + opts.addOption(Option.builder("s").hasArg().argName("time/offset").longOpt("start-time") + .desc("signature starting time (default is now - 1 hour)").build()); + opts.addOption(Option.builder("e").hasArg().argName("time/offset").longOpt("expire-time") + .desc("signature expiration time (default is start-time + 30 days)").build()); + opts.addOption( + Option.builder("f").hasArg().argName("outfile").desc("file the signed keyset is written to").build()); } @Override @@ -129,11 +133,9 @@ public class SignKeyset extends CLBase { /** * Verify the generated signatures. - * - * @param records - * a list of {@link org.xbill.DNS.Record}s. - * @param keypairs - * a list of keypairs used the sign the zone. + * + * @param records a list of {@link org.xbill.DNS.Record}s. + * @param keypairs a list of keypairs used the sign the zone. * @return true if all of the signatures validated. */ private static boolean verifySigs(List records, @@ -168,16 +170,13 @@ public class SignKeyset extends CLBase { /** * Load the key pairs from the key files. - * - * @param keyfiles - * a string array containing the base names or paths of the - * keys - * to be loaded. - * @param startIndex - * the starting index of keyfiles string array to use. This - * allows us to use the straight command line argument array. - * @param inDirectory - * the directory to look in (may be null). + * + * @param keyfiles a string array containing the base names or paths of the + * keys to be loaded. + * @param startIndex the starting index of keyfiles string array to use. This + * allows us to use the straight command line argument + * array. + * @param inDirectory the directory to look in (may be null). * @return a list of keypair objects. */ private static List getKeys(String[] keyfiles, int startIndex, @@ -244,8 +243,8 @@ public class SignKeyset extends CLBase { } // Make sure that all records are DNSKEYs with the same name. - Name keysetName = null; - RRset keyset = new RRset(); + Name keysetName = null; + RRset keyset = new RRset(); for (Record r : records) { if (r.getType() != Type.DNSKEY) { diff --git a/src/main/java/com/verisignlabs/dnssec/cl/SignRRset.java b/src/main/java/com/verisignlabs/dnssec/cl/SignRRset.java index 940537f..46f39b5 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/SignRRset.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/SignRRset.java @@ -55,14 +55,14 @@ public class SignRRset extends CLBase { * This is an inner class used to hold all of the command line option state. */ protected static class CLIState extends CLIStateBase { - private File keyDirectory = null; - public String[] keyFiles = null; - public Instant start = null; - public Instant expire = null; - public String inputfile = null; - public String outputfile = null; - public boolean verifySigs = false; - public boolean verboseSigning = false; + private File keyDirectory = null; + public String[] keyFiles = null; + public Instant start = null; + public Instant expire = null; + public String inputfile = null; + public String outputfile = null; + public boolean verifySigs = false; + public boolean verboseSigning = false; public CLIState() { super("jdnssec-signrrset [..options..] rrset_file key_file [key_file ...]"); @@ -137,10 +137,8 @@ public class SignRRset extends CLBase { /** * Verify the generated signatures. * - * @param records - * a list of {@link org.xbill.DNS.Record}s. - * @param keypairs - * a list of keypairs used the sign the zone. + * @param records a list of {@link org.xbill.DNS.Record}s. + * @param keypairs a list of keypairs used the sign the zone. * @return true if all of the signatures validated. */ private static boolean verifySigs(List records, List keypairs) { @@ -176,15 +174,12 @@ public class SignRRset extends CLBase { /** * Load the key pairs from the key files. * - * @param keyfiles - * a string array containing the base names or paths of the - * keys - * to be loaded. - * @param startIndex - * the starting index of keyfiles string array to use. This - * allows us to use the straight command line argument array. - * @param inDirectory - * the directory to look in (may be null). + * @param keyfiles a string array containing the base names or paths of the + * keys to be loaded. + * @param startIndex the starting index of keyfiles string array to use. This + * allows us to use the straight command line argument + * array. + * @param inDirectory the directory to look in (may be null). * @return a list of keypair objects. */ private static List getKeys(String[] keyfiles, int startIndex, diff --git a/src/main/java/com/verisignlabs/dnssec/cl/SignZone.java b/src/main/java/com/verisignlabs/dnssec/cl/SignZone.java index 96f9fa5..2268755 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/SignZone.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/SignZone.java @@ -79,6 +79,8 @@ public class SignZone extends CLBase { public long nsec3paramttl = -1; public boolean verboseSigning = false; + private static final Random rand = new Random(); + public CLIState() { super("jdnssec-signzone [..options..] zone_file [key_file ...]"); } @@ -198,9 +200,8 @@ public class SignZone extends CLBase { if ((optstr = cli.getOptionValue('R')) != null) { int length = parseInt(optstr, 0); if (length > 0 && length <= 255) { - Random random = new Random(); salt = new byte[length]; - random.nextBytes(salt); + rand.nextBytes(salt); } } @@ -241,8 +242,8 @@ public class SignZone extends CLBase { /** * Load a list of DNS names from a file. * - * @param nameListFile - * the path of a file containing a bare list of DNS names. + * @param nameListFile the path of a file containing a bare list of DNS + * names. * @return a list of {@link org.xbill.DNS.Name} objects. */ private static List getNameList(File nameListFile) throws IOException { @@ -254,9 +255,6 @@ public class SignZone extends CLBase { try { Name n = Name.fromString(line); // force the name to be absolute. - // FIXME: we should probably get some fancy logic here to - // detect if the name needs the origin appended, or just the - // root. if (!n.isAbsolute()) n = Name.concatenate(n, Name.root); @@ -274,14 +272,12 @@ public class SignZone extends CLBase { /** * Verify the generated signatures. * - * @param records - * a list of {@link org.xbill.DNS.Record}s. - * @param keypairs - * a list of keypairs used the sign the zone. + * @param records a list of {@link org.xbill.DNS.Record}s. + * @param keypairs a list of keypairs used the sign the zone. * @return true if all of the signatures validated. */ private static boolean verifyZoneSigs(List records, - List keypairs) { + List keypairs, List kskpairs) { boolean secure = true; DnsSecVerifier verifier = new DnsSecVerifier(); @@ -289,7 +285,9 @@ public class SignZone extends CLBase { for (DnsKeyPair pair : keypairs) { verifier.addTrustedKey(pair); } - + for (DnsKeyPair pair : kskpairs) { + verifier.addTrustedKey(pair); + } verifier.setVerifyAllSigs(true); List rrsets = SignUtils.assembleIntoRRsets(records); @@ -303,6 +301,7 @@ public class SignZone extends CLBase { boolean result = verifier.verify(rrset); if (!result) { + System.err.println("Signatures did not verify for RRset: " + rrset); staticLog.fine("Signatures did not verify for RRset: " + rrset); secure = false; } @@ -314,17 +313,12 @@ public class SignZone extends CLBase { /** * Load the key pairs from the key files. * - * @param keyfiles - * a string array containing the base names or paths of the - * keys to - * be loaded. - * @param startIndex - * the starting index of keyfiles string array to use. This - * allows - * us - * to use the straight command line argument array. - * @param inDirectory - * the directory to look in (may be null). + * @param keyfiles a string array containing the base names or paths of the + * keys to be loaded. + * @param startIndex the starting index of keyfiles string array to use. This + * allows us to use the straight command line argument + * array. + * @param inDirectory the directory to look in (may be null). * @return a list of keypair objects. */ private static List getKeys(String[] keyfiles, int startIndex, @@ -418,19 +412,12 @@ public class SignZone extends CLBase { /** * Load keysets (which contain delegation point security info). * - * @param inDirectory - * the directory to look for the keyset files (may be null, - * in - * which - * case it defaults to looking in the current working - * directory). - * @param zonename - * the name of the zone we are signing, so we can ignore - * keysets - * that - * do not belong in the zone. - * @return a list of {@link org.xbill.DNS.Record}s found in the keyset - * files. + * @param inDirectory the directory to look for the keyset files (may be null, + * in which case it defaults to looking in the current + * working directory). + * @param zonename the name of the zone we are signing, so we can ignore + * keysets that do not belong in the zone. + * @return a list of {@link org.xbill.DNS.Record}s found in the keyset files. */ private static List getKeysets(File inDirectory, Name zonename) throws IOException { @@ -463,13 +450,9 @@ public class SignZone extends CLBase { /** * Determine if the given keypairs can be used to sign the zone. * - * @param zonename - * the zone origin. - * @param keypairs - * a list of {@link DnsKeyPair} objects that will be used to - * sign - * the - * zone. + * @param zonename the zone origin. + * @param keypairs a list of {@link DnsKeyPair} objects that will be used to + * sign the zone. * @return true if the keypairs valid. */ private static boolean keyPairsValidForZone(Name zonename, List keypairs) { @@ -503,55 +486,71 @@ public class SignZone extends CLBase { return; } - // Load the key pairs. - + // Load the key pairs. Note that getKeys() always returns an ArrayList, + // which may be empty. List keypairs = getKeys(state.keyFiles, 0, state.keyDirectory); List kskpairs = getKeys(state.kskFiles, 0, state.keyDirectory); // If we didn't get any keys on the command line, look at the zone apex for // any public keys. - if (keypairs == null && kskpairs == null) { + if (keypairs.isEmpty()) { List dnskeys = ZoneUtils.findRRs(records, zonename, Type.DNSKEY); keypairs = getKeys(dnskeys, state.keyDirectory); } // If we *still* don't have any key pairs, look for keys the key directory // that match - if (keypairs == null && kskpairs == null) { + if (keypairs.isEmpty()) { keypairs = findZoneKeys(state.keyDirectory, zonename); } // If we don't have any KSKs, but we do have more than one zone // signing key (presumably), presume that the zone signing keys // are just not differentiated and try to figure out which keys - // are actually ksks by looking at the SEP flag. - if ((kskpairs == null || kskpairs.isEmpty()) && keypairs != null - && keypairs.size() > 1) { + // are actually KSKs by looking at the SEP flag. + if (kskpairs.isEmpty() && !keypairs.isEmpty()) { for (Iterator i = keypairs.iterator(); i.hasNext();) { DnsKeyPair pair = i.next(); DNSKEYRecord kr = pair.getDNSKEYRecord(); if ((kr.getFlags() & DNSKEYRecord.Flags.SEP_KEY) != 0) { - if (kskpairs == null) - kskpairs = new ArrayList<>(); kskpairs.add(pair); i.remove(); } } } - // If there are no ZSKs defined at this point (yet there are KSKs - // provided), all KSKs will be treated as ZSKs, as well. - if (keypairs == null || keypairs.isEmpty()) { - keypairs = kskpairs; - } - - // If there *still* aren't any ZSKs defined, bail. - if (keypairs == null || keypairs.isEmpty()) { + // If we have zero keypairs at all, we are stuck. + if (keypairs.isEmpty() && kskpairs.isEmpty()) { System.err.println("No zone signing keys could be determined."); state.usage(); return; } + // If we only have one type of key (all ZSKs or all KSKs), then these are + // "CSKs" -- Combined signing keys, so assign one set to the other. + if (keypairs.isEmpty()) { + keypairs = kskpairs; + } else if (kskpairs.isEmpty()) { + kskpairs = keypairs; + } + + // Output what keys we are using for what + if (keypairs == kskpairs) { + System.out.println("CSKs: "); + for (DnsKeyPair kp : keypairs) { + System.out.println(" - " + kp); + } + } else { + System.out.println("KSKs: "); + for (DnsKeyPair kp : kskpairs) { + System.out.println(" - " + kp); + } + System.out.println("ZSKs: "); + for (DnsKeyPair kp : keypairs) { + System.out.println(" - " + kp); + } + } + // default the output file, if not set. if (state.outputfile == null && !state.zonefile.equals("-")) { if (zonename.isAbsolute()) { @@ -571,12 +570,12 @@ public class SignZone extends CLBase { // We force the signing keys to be in the zone by just appending // them to the zone here. Currently JCEDnsSecSigner.signZone // removes duplicate records. - if (kskpairs != null) { + if (!kskpairs.isEmpty()) { for (DnsKeyPair pair : kskpairs) { records.add(pair.getDNSKEYRecord()); } } - if (keypairs != null) { + if (!keypairs.isEmpty()) { for (DnsKeyPair pair : keypairs) { records.add(pair.getDNSKEYRecord()); } @@ -608,15 +607,11 @@ public class SignZone extends CLBase { // write out the signed zone ZoneUtils.writeZoneFile(signedRecords, state.outputfile); + System.out.println("zone signing complete"); if (state.verifySigs) { - // FIXME: ugh. - if (kskpairs != null) { - keypairs.addAll(kskpairs); - } - log.fine("verifying generated signatures"); - boolean res = verifyZoneSigs(signedRecords, keypairs); + boolean res = verifyZoneSigs(signedRecords, keypairs, kskpairs); if (res) { System.out.println("Generated signatures verified"); @@ -624,7 +619,6 @@ public class SignZone extends CLBase { System.out.println("Generated signatures did not verify."); } } - } public static void main(String[] args) { diff --git a/src/main/java/com/verisignlabs/dnssec/cl/ZoneFormat.java b/src/main/java/com/verisignlabs/dnssec/cl/ZoneFormat.java index 96ff79e..7e8422c 100644 --- a/src/main/java/com/verisignlabs/dnssec/cl/ZoneFormat.java +++ b/src/main/java/com/verisignlabs/dnssec/cl/ZoneFormat.java @@ -100,7 +100,6 @@ public class ZoneFormat extends CLBase { private static void formatZone(List zone) { - for (Record r : zone) { System.out.println(r.toString()); } diff --git a/src/main/java/com/verisignlabs/dnssec/security/BINDKeyUtils.java b/src/main/java/com/verisignlabs/dnssec/security/BINDKeyUtils.java index 450f8d4..381a525 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/BINDKeyUtils.java +++ b/src/main/java/com/verisignlabs/dnssec/security/BINDKeyUtils.java @@ -46,7 +46,8 @@ import org.xbill.DNS.utils.base64; */ public class BINDKeyUtils { - private BINDKeyUtils() { } + private BINDKeyUtils() { + } /** * Calculate the BIND9 key file base name (i.e., without the ".key" or @@ -60,18 +61,18 @@ public class BINDKeyUtils { /** Reads in the DNSKEYRecord from the public key file */ private static DNSKEYRecord loadPublicKeyFile(File publicKeyFile) throws IOException { - Master m = new Master(publicKeyFile.getAbsolutePath(), null, 600); + try (Master m = new Master(publicKeyFile.getAbsolutePath(), null, 600)) { + Record r; + DNSKEYRecord result = null; - Record r; - DNSKEYRecord result = null; - - while ((r = m.nextRecord()) != null) { - if (r.getType() == Type.DNSKEY) { - result = (DNSKEYRecord) r; + while ((r = m.nextRecord()) != null) { + if (r.getType() == Type.DNSKEY) { + result = (DNSKEYRecord) r; + } } - } - return result; + return result; + } } /** Reads in the private key verbatim from the private key file */ @@ -106,17 +107,12 @@ public class BINDKeyUtils { * Given the information necessary to construct the path to a BIND9 generated * key pair, load the key pair. * - * @param signer - * the DNS name of the key. - * @param algorithm - * the DNSSEC algorithm of the key. - * @param keyid - * the DNSSEC key footprint. - * @param inDirectory - * the directory to look for the files (may be null). + * @param signer the DNS name of the key. + * @param algorithm the DNSSEC algorithm of the key. + * @param keyid the DNSSEC key footprint. + * @param inDirectory the directory to look for the files (may be null). * @return the loaded key pair. - * @throws IOException - * if there was a problem reading the BIND9 files. + * @throws IOException if there was a problem reading the BIND9 files. */ public static DnsKeyPair loadKeyPair(Name signer, int algorithm, int keyid, File inDirectory) throws IOException { @@ -128,16 +124,12 @@ public class BINDKeyUtils { /** * Given a base path to a BIND9 key pair, load the key pair. * - * @param keyFileBasePath - * the base filename (or real filename for either the - * public or - * private key) of the key. - * @param inDirectory - * the directory to look in, if the keyFileBasePath is + * @param keyFileBasePath the base filename (or real filename for either the + * public or private key) of the key. + * @param inDirectory the directory to look in, if the keyFileBasePath is * relative. * @return the loaded key pair. - * @throws IOException - * if there was a problem reading the files + * @throws IOException if there was a problem reading the files */ public static DnsKeyPair loadKeyPair(String keyFileBasePath, File inDirectory) throws IOException { @@ -162,15 +154,12 @@ public class BINDKeyUtils { * Given a base path to a BIND9 key pair, load the public part (only) of the * key pair * - * @param keyFileBasePath - * the base or real path to the public part of a key + * @param keyFileBasePath the base or real path to the public part of a key * pair. - * @param inDirectory - * the directory to look in if the path is relative (may - * be null). + * @param inDirectory the directory to look in if the path is relative + * (may be null). * @return a {@link DnsKeyPair} containing just the public key information. - * @throws IOException - * if there was a problem reading the public key file. + * @throws IOException if there was a problem reading the public key file. */ public static DnsKeyPair loadKey(String keyFileBasePath, File inDirectory) throws IOException { @@ -190,15 +179,11 @@ public class BINDKeyUtils { * "keyset-[signer]." where [signer] is the DNS owner name of the key. The * keyset may be signed, but doesn't have to be. * - * @param keysetFileName - * the name of the keyset file. - * @param inDirectory - * the directory to look in if the path is relative (may - * be null, - * defaults to the current working directory). + * @param keysetFileName the name of the keyset file. + * @param inDirectory the directory to look in if the path is relative (may + * be null, defaults to the current working directory). * @return a RRset contain the KEY records and any associated SIG records. - * @throws IOException - * if there was a problem reading the keyset file. + * @throws IOException if there was a problem reading the keyset file. */ public static RRset loadKeySet(String keysetFileName, File inDirectory) throws IOException { @@ -218,8 +203,8 @@ public class BINDKeyUtils { /** * Calculate the key file base for this key pair. * - * @param pair - * the {@link DnsKeyPair} to work from. It only needs a public key. + * @param pair the {@link DnsKeyPair} to work from. It only needs a public + * key. * @return the base name of the key files. */ public static String keyFileBase(DnsKeyPair pair) { @@ -259,8 +244,7 @@ public class BINDKeyUtils { * Given a the contents of a BIND9 private key file, convert it into a native * {@link java.security.PrivateKey} object. * - * @param privateKeyString - * the contents of a BIND9 key file in string form. + * @param privateKeyString the contents of a BIND9 key file in string form. * @return a {@link java.security.PrivateKey} */ public static PrivateKey convertPrivateKeyString(String privateKeyString) { @@ -272,7 +256,7 @@ public class BINDKeyUtils { try { DnsKeyConverter conv = new DnsKeyConverter(); return conv.parsePrivateKeyString(privateKeyString); - } catch (IOException|NoSuchAlgorithmException e) { + } catch (IOException | NoSuchAlgorithmException e) { e.printStackTrace(); } @@ -283,10 +267,8 @@ public class BINDKeyUtils { * Given a native private key, convert it into a BIND9 private key file * format. * - * @param priv - * the private key to convert. - * @param pub - * the private key's corresponding public key. Some algorithms + * @param priv the private key to convert. + * @param pub the private key's corresponding public key. Some algorithms * require information from both. * @return a string containing the contents of a BIND9 private key file. */ @@ -327,16 +309,11 @@ public class BINDKeyUtils { /** * This routine will write out the BIND9 dnssec-* tool compatible files. * - * @param baseFileName - * use this base file name. If null, the standard BIND9 base - * file - * name will be computed. - * @param pair - * the keypair in question. - * @param inDirectory - * the directory to write to (may be null). - * @throws IOException - * if there is a problem writing the files. + * @param baseFileName use this base file name. If null, the standard BIND9 + * base file name will be computed. + * @param pair the keypair in question. + * @param inDirectory the directory to write to (may be null). + * @throws IOException if there is a problem writing the files. */ public static void writeKeyFiles(String baseFileName, DnsKeyPair pair, File inDirectory) throws IOException { @@ -369,10 +346,8 @@ public class BINDKeyUtils { * This routine will write out the BIND9 dnssec-* tool compatible files to the * standard file names. * - * @param pair - * the key pair in question. - * @param inDirectory - * the directory to write to (may be null). + * @param pair the key pair in question. + * @param inDirectory the directory to write to (may be null). */ public static void writeKeyFiles(DnsKeyPair pair, File inDirectory) throws IOException { diff --git a/src/main/java/com/verisignlabs/dnssec/security/ByteArrayComparator.java b/src/main/java/com/verisignlabs/dnssec/security/ByteArrayComparator.java index 84082f1..6230a3c 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/ByteArrayComparator.java +++ b/src/main/java/com/verisignlabs/dnssec/security/ByteArrayComparator.java @@ -27,7 +27,7 @@ import java.util.logging.Logger; * @author David Blacka */ public class ByteArrayComparator implements Comparator { - private int mOffset = 0; + private int mOffset = 0; private boolean mDebug = false; private Logger log; diff --git a/src/main/java/com/verisignlabs/dnssec/security/DnsKeyAlgorithm.java b/src/main/java/com/verisignlabs/dnssec/security/DnsKeyAlgorithm.java index debecc2..07f9dc8 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/DnsKeyAlgorithm.java +++ b/src/main/java/com/verisignlabs/dnssec/security/DnsKeyAlgorithm.java @@ -34,7 +34,6 @@ import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.Provider; -import java.security.SecureRandom; import java.security.Security; import java.security.Signature; import java.security.spec.ECFieldFp; @@ -43,6 +42,7 @@ import java.security.spec.ECParameterSpec; import java.security.spec.ECPoint; import java.security.spec.EllipticCurve; import java.security.spec.InvalidParameterSpecException; +import java.security.spec.NamedParameterSpec; import java.security.spec.RSAKeyGenParameterSpec; import java.util.Arrays; import java.util.HashMap; @@ -51,12 +51,6 @@ import java.util.logging.Logger; import org.xbill.DNS.DNSSEC; -import net.i2p.crypto.eddsa.spec.EdDSANamedCurveTable; -// for now, we need to import the EdDSA parameter spec classes -// because they have no generic form in java.security.spec.* -// sadly, this will currently fail if you don't have the lib. -import net.i2p.crypto.eddsa.spec.EdDSAParameterSpec; - /** * This class handles translating DNS signing algorithm identifiers into various * usable java implementations. @@ -72,21 +66,24 @@ public class DnsKeyAlgorithm { // Our base algorithm numbers. This is a normalization of the DNSSEC // algorithms (which are really signature algorithms). Thus RSASHA1, - // RSASHA256, etc. all boil down to 'RSA' here. - public static final int UNKNOWN = -1; - public static final int RSA = 1; - public static final int DH = 2; - public static final int DSA = 3; - public static final int ECC_GOST = 4; - public static final int ECDSA = 5; - public static final int EDDSA = 6; + // RSASHA256, etc. all boil down to 'RSA' here. Similarly, ECDSAP256SHA256 and + // ECDSAP384SHA384 both become 'ECDSA'. + public enum BaseAlgorithm { + UNKNOWN, + RSA, + DH, + DSA, + ECC_GOST, + ECDSA, + EDDSA; + } private static class AlgEntry { public int dnssecAlgorithm; public String sigName; - public int baseType; + public BaseAlgorithm baseType; - public AlgEntry(int algorithm, String sigName, int baseType) { + public AlgEntry(int algorithm, String sigName, BaseAlgorithm baseType) { this.dnssecAlgorithm = algorithm; this.sigName = sigName; this.baseType = baseType; @@ -96,18 +93,20 @@ public class DnsKeyAlgorithm { private static class ECAlgEntry extends AlgEntry { public ECParameterSpec ecSpec; - public ECAlgEntry(int algorithm, String sigName, int baseType, ECParameterSpec spec) { + public ECAlgEntry(int algorithm, String sigName, BaseAlgorithm baseType, ECParameterSpec spec) { super(algorithm, sigName, baseType); this.ecSpec = spec; } } private static class EdAlgEntry extends AlgEntry { - public EdDSAParameterSpec edSpec; + public String curveName; + public NamedParameterSpec paramSpec; - public EdAlgEntry(int algorithm, String sigName, int baseType, EdDSAParameterSpec spec) { + public EdAlgEntry(int algorithm, String sigName, BaseAlgorithm baseType, String curveName) { super(algorithm, sigName, baseType); - this.edSpec = spec; + this.curveName = curveName; + this.paramSpec = new NamedParameterSpec(curveName); } } @@ -143,24 +142,15 @@ public class DnsKeyAlgorithm { private static DnsKeyAlgorithm mInstance = null; public DnsKeyAlgorithm() { - // Attempt to add the bouncycastle provider. - // This is so we can use this provider if it is available, but not require - // the user to add it as one of the java.security providers. + // Attempt to add the bouncycastle provider. This is so we can use this + // provider if it is available, but not require the user to add it as one of + // the java.security providers. try { Class bcProviderClass = Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider"); Provider bcProvider = (Provider) bcProviderClass.getDeclaredConstructor().newInstance(); Security.addProvider(bcProvider); } catch (ReflectiveOperationException e) { - log.info("Unable to load BC provider"); - } - - // Attempt to add the EdDSA-Java provider. - try { - Class eddsaProviderClass = Class.forName("net.i2p.crypto.eddsa.EdDSASecurityProvider"); - Provider eddsaProvider = (Provider) eddsaProviderClass.getDeclaredConstructor().newInstance(); - Security.addProvider(eddsaProvider); - } catch (ReflectiveOperationException e) { - log.warning("Unable to load EdDSA provider"); + log.fine("Unable to load BC provider"); } initialize(); @@ -172,16 +162,16 @@ public class DnsKeyAlgorithm { mIdToMnemonicMap = new HashMap<>(); // Load the standard DNSSEC algorithms. - addAlgorithm(DNSSEC.Algorithm.RSAMD5, "MD5withRSA", RSA); + addAlgorithm(DNSSEC.Algorithm.RSAMD5, "MD5withRSA", BaseAlgorithm.RSA); addMnemonic("RSAMD5", DNSSEC.Algorithm.RSAMD5); - addAlgorithm(DNSSEC.Algorithm.DH, "", DH); + addAlgorithm(DNSSEC.Algorithm.DH, "", BaseAlgorithm.DH); addMnemonic("DH", DNSSEC.Algorithm.DH); - addAlgorithm(DNSSEC.Algorithm.DSA, "SHA1withDSA", DSA); + addAlgorithm(DNSSEC.Algorithm.DSA, "SHA1withDSA", BaseAlgorithm.DSA); addMnemonic("DSA", DNSSEC.Algorithm.DSA); - addAlgorithm(DNSSEC.Algorithm.RSASHA1, "SHA1withRSA", RSA); + addAlgorithm(DNSSEC.Algorithm.RSASHA1, "SHA1withRSA", BaseAlgorithm.RSA); addMnemonic("RSASHA1", DNSSEC.Algorithm.RSASHA1); addMnemonic("RSA", DNSSEC.Algorithm.RSASHA1); @@ -193,79 +183,114 @@ public class DnsKeyAlgorithm { addMnemonic("NSEC3RSASHA1", DNSSEC.Algorithm.RSA_NSEC3_SHA1); // Algorithms added by RFC 5702. - addAlgorithm(DNSSEC.Algorithm.RSASHA256, "SHA256withRSA", RSA); + addAlgorithm(DNSSEC.Algorithm.RSASHA256, "SHA256withRSA", BaseAlgorithm.RSA); addMnemonic("RSASHA256", DNSSEC.Algorithm.RSASHA256); - addAlgorithm(DNSSEC.Algorithm.RSASHA512, "SHA512withRSA", RSA); + addAlgorithm(DNSSEC.Algorithm.RSASHA512, "SHA512withRSA", BaseAlgorithm.RSA); addMnemonic("RSASHA512", DNSSEC.Algorithm.RSASHA512); // ECC-GOST is not supported by Java 1.8's Sun crypto provider. The // bouncycastle.org provider, however, does support it. // GostR3410-2001-CryptoPro-A is the named curve in the BC provider, but we // will get the parameters directly. - addAlgorithm(DNSSEC.Algorithm.ECC_GOST, "GOST3411withECGOST3410", ECC_GOST, null); + addAlgorithm(DNSSEC.Algorithm.ECC_GOST, "GOST3411withECGOST3410", BaseAlgorithm.ECC_GOST, null); addMnemonic("ECCGOST", DNSSEC.Algorithm.ECC_GOST); addMnemonic("ECC-GOST", DNSSEC.Algorithm.ECC_GOST); - addAlgorithm(DNSSEC.Algorithm.ECDSAP256SHA256, "SHA256withECDSA", ECDSA, "secp256r1"); + addAlgorithm(DNSSEC.Algorithm.ECDSAP256SHA256, "SHA256withECDSA", BaseAlgorithm.ECDSA, "secp256r1"); addMnemonic("ECDSAP256SHA256", DNSSEC.Algorithm.ECDSAP256SHA256); addMnemonic("ECDSA-P256", DNSSEC.Algorithm.ECDSAP256SHA256); - addAlgorithm(DNSSEC.Algorithm.ECDSAP384SHA384, "SHA384withECDSA", ECDSA, "secp384r1"); + addAlgorithm(DNSSEC.Algorithm.ECDSAP384SHA384, "SHA384withECDSA", BaseAlgorithm.ECDSA, "secp384r1"); addMnemonic("ECDSAP384SHA384", DNSSEC.Algorithm.ECDSAP384SHA384); addMnemonic("ECDSA-P384", DNSSEC.Algorithm.ECDSAP384SHA384); - // EdDSA is not supported by either the Java 1.8 Sun crypto - // provider or bouncycastle. It is added by the Ed25519-Java - // library. We don't have a corresponding constant in - // org.xbill.DNS.DNSSEC yet, though. - addAlgorithm(15, "NONEwithEdDSA", EDDSA, "Ed25519"); + // For the Edwards Curve implementations, we just initialize Signature and + // KeyPairGenerator with the curve name. + addAlgorithm(15, "Ed25519", BaseAlgorithm.EDDSA, "Ed25519"); addMnemonic("ED25519", 15); + addAlgorithm(16, "Ed448", BaseAlgorithm.EDDSA, "Ed448"); + addMnemonic(("ED448"), 16); } - private void addAlgorithm(int algorithm, String sigName, int baseType) { + private void addAlgorithm(int algorithm, String sigName, BaseAlgorithm baseType) { mAlgorithmMap.put(algorithm, new AlgEntry(algorithm, sigName, baseType)); } - private void addAlgorithm(int algorithm, String sigName, int baseType, String curveName) { - if (baseType == ECDSA) { - ECParameterSpec ecSpec = ECSpecFromAlgorithm(algorithm); - if (ecSpec == null) - ecSpec = ECSpecFromName(curveName); - if (ecSpec == null) - return; + /** + * Add a ECDSA (algorithms 13/14) to the set, looking up the curve names. + * + * @param algorithm the DNSSEC algorithm number. + * @param sigName the name of the signature scheme. + * @param curveName the official name of the elliptic curve in our crypto + * library (SunEC). + */ + private void addECDSAAlgorithm(int algorithm, String sigName, String curveName) { + ECParameterSpec ecSpec = ECSpecFromAlgorithm(algorithm); + if (ecSpec == null) + ecSpec = ECSpecFromName(curveName); + if (ecSpec == null) + return; - // Check to see if we can get a Signature object for this algorithm. - try { - Signature.getInstance(sigName); - } catch (NoSuchAlgorithmException e) { - // for now, let's find out - log.severe("could not get signature for " + sigName + ": " + e.getMessage()); - // If not, do not add the algorithm. - return; - } - ECAlgEntry entry = new ECAlgEntry(algorithm, sigName, baseType, ecSpec); - mAlgorithmMap.put(algorithm, entry); - } else if (baseType == EDDSA) { - EdDSAParameterSpec edSpec = EdDSASpecFromName(curveName); - if (edSpec == null) - return; - - // Check to see if we can get a Signature object for this algorithm. - try { - Signature.getInstance(sigName); - } catch (NoSuchAlgorithmException e) { - // for now, let's find out - log.severe("could not get signature for " + sigName + ": " + e.getMessage()); - // If not, do not add the algorithm. - return; - } - EdAlgEntry entry = new EdAlgEntry(algorithm, sigName, baseType, edSpec); - mAlgorithmMap.put(algorithm, entry); + // Check to see if we can get a Signature object for this algorithm. + try { + Signature.getInstance(sigName); + } catch (NoSuchAlgorithmException e) { + // for now, let's find out + log.severe("could not get signature for " + sigName + ": " + e.getMessage()); + // If not, do not add the algorithm. + return; } - + ECAlgEntry entry = new ECAlgEntry(algorithm, sigName, BaseAlgorithm.ECDSA, ecSpec); + mAlgorithmMap.put(algorithm, entry); } + /** + * Add an EdDSA (Edwards curve algorithms, DNSSEC algorithms 15/16), looking up + * the curve. + * + * @param algorithm the DNSSEC algorithm numer. + * @param sigName the name of the signing scheme. For EdDSA, this is the same + * as the curve. + * @param curveName the name of the curve. + */ + private void addEdDSAAlgorithm(int algorithm, String sigName, String curveName) { + // Check to see if we can get a Signature object for this algorithm. + try { + Signature.getInstance(sigName); + } catch (NoSuchAlgorithmException e) { + // for now, let's find out + log.severe("could not get signature for EdDSA curve" + curveName + ": " + e.getMessage()); + // If not, do not add the algorithm. + return; + } + EdAlgEntry entry = new EdAlgEntry(algorithm, sigName, BaseAlgorithm.EDDSA, curveName); + mAlgorithmMap.put(algorithm, entry); + } + + /** + * Add an Elliptic Curve algorithm given a signing scheme and curve name. + * + * @param algorithm the DNSSEC algorithm number + * @param sigName the signature scheme (e.g., which crypto hash function are + * we using?) + * @param baseType the base type (either ECDSA or EDDSA). + * @param curveName the name of the curve. + */ + private void addAlgorithm(int algorithm, String sigName, BaseAlgorithm baseType, String curveName) { + if (baseType == BaseAlgorithm.ECDSA) { + addECDSAAlgorithm(algorithm, sigName, curveName); + } else if (baseType == BaseAlgorithm.EDDSA) { + addEdDSAAlgorithm(algorithm, sigName, curveName); + } + } + + /** + * Add an alternate mnemonic for an algorithm. + * + * @param m the new mnemonic. + * @param alg the DNSSEC algorithm number. + */ private void addMnemonic(String m, int alg) { // Do not add mnemonics for algorithms that ended up not actually being // supported. @@ -276,19 +301,19 @@ public class DnsKeyAlgorithm { mIdToMnemonicMap.computeIfAbsent(alg, k -> m); } - public void addAlias(int alias, String mnemonic, int original_algorithm) { + public void addAlias(int alias, String mnemonic, int origAlgorithm) { if (mAlgorithmMap.containsKey(alias)) { log.warning("Unable to alias algorithm " + alias + " because it already exists."); return; } - if (!mAlgorithmMap.containsKey(original_algorithm)) { + if (!mAlgorithmMap.containsKey(origAlgorithm)) { log.warning("Unable to alias algorithm " + alias - + " to unknown algorithm identifier " + original_algorithm); + + " to unknown algorithm identifier " + origAlgorithm); return; } - mAlgorithmMap.put(alias, mAlgorithmMap.get(original_algorithm)); + mAlgorithmMap.put(alias, mAlgorithmMap.get(origAlgorithm)); if (mnemonic != null) { addMnemonic(mnemonic, alias); @@ -304,16 +329,16 @@ public class DnsKeyAlgorithm { // the ECC-GOST curve. private ECParameterSpec ECSpecFromAlgorithm(int algorithm) { if (algorithm == DNSSEC.Algorithm.ECC_GOST) { - // From RFC 4357 Section 11.4 - BigInteger p = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD97", 16); - BigInteger a = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD94", 16); - BigInteger b = new BigInteger("A6", 16); - BigInteger gx = new BigInteger("1", 16); - BigInteger gy = new BigInteger("8D91E471E0989CDA27DF505A453F2B7635294F2DDF23E3B122ACC99C9E9F1E14", 16); - BigInteger n = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C611070995AD10045841B09B761B893", 16); + // From RFC 4357 Section 11.4 + BigInteger p = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD97", 16); + BigInteger a = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD94", 16); + BigInteger b = new BigInteger("A6", 16); + BigInteger gx = new BigInteger("1", 16); + BigInteger gy = new BigInteger("8D91E471E0989CDA27DF505A453F2B7635294F2DDF23E3B122ACC99C9E9F1E14", 16); + BigInteger n = new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C611070995AD10045841B09B761B893", 16); - EllipticCurve curve = new EllipticCurve(new ECFieldFp(p), a, b); - return new ECParameterSpec(curve, new ECPoint(gx, gy), n, 1); + EllipticCurve curve = new EllipticCurve(new ECFieldFp(p), a, b); + return new ECParameterSpec(curve, new ECPoint(gx, gy), n, 1); } return null; } @@ -322,8 +347,8 @@ public class DnsKeyAlgorithm { private ECParameterSpec ECSpecFromName(String stdName) { try { AlgorithmParameters ap = AlgorithmParameters.getInstance("EC"); - ECGenParameterSpec ecg_spec = new ECGenParameterSpec(stdName); - ap.init(ecg_spec); + ECGenParameterSpec ecgSpec = new ECGenParameterSpec(stdName); + ap.init(ecgSpec); return ap.getParameterSpec(ECParameterSpec.class); } catch (NoSuchAlgorithmException e) { log.info("Elliptic Curve not supported by any crypto provider: " + e.getMessage()); @@ -333,24 +358,6 @@ public class DnsKeyAlgorithm { return null; } - // Fetch the curve parameters from a named EdDSA curve. - private EdDSAParameterSpec EdDSASpecFromName(String stdName) { - try { - EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName(stdName); - if (spec != null) - return spec; - throw new InvalidParameterSpecException("Edwards Curve " + stdName + " not found."); - } - // catch (NoSuchAlgorithmException e) { - // log.info("Edwards Curve not supported by any crypto provider: " + - // e.getMessage()); - // } - catch (InvalidParameterSpecException e) { - log.info("Edwards Curve " + stdName + " not supported"); - } - return null; - } - public String[] supportedAlgMnemonics() { Set keyset = mAlgorithmMap.keySet(); Integer[] algs = keyset.toArray(new Integer[keyset.size()]); @@ -388,11 +395,10 @@ public class DnsKeyAlgorithm { } /** - * Given one of the ECDSA algorithms (ECDSAP256SHA256, etc.) return - * the elliptic curve parameters. + * Given one of the ECDSA algorithms (ECDSAP256SHA256, etc.) return the + * elliptic curve parameters. * - * @param algorithm - * The DNSSEC algorithm number. + * @param algorithm The DNSSEC algorithm number. * @return The calculated JCA ECParameterSpec for that DNSSEC algorithm, or * null if not a recognized/supported EC algorithm. */ @@ -402,37 +408,35 @@ public class DnsKeyAlgorithm { return null; if (!(entry instanceof ECAlgEntry)) return null; - ECAlgEntry ec_entry = (ECAlgEntry) entry; + ECAlgEntry ecEntry = (ECAlgEntry) entry; - return ec_entry.ecSpec; + return ecEntry.ecSpec; } /** - * Given one of the EdDSA algorithms (Ed25519, Ed448) return the - * elliptic curve parameters. + * Given one of the EdDSA algorithms (ED25519 or ED448), return the named + * parameter spec. * - * @param algorithm - * The DNSSEC algorithm number. - * @return The stored EdDSAParameterSpec for that algorithm, or - * null if not a recognized/supported EdDSA algorithm. + * @param algorithm The DNSSEC algorithm number. + * @return The NamedParameterSpec for that DNSSEC algorithm, nor null if the + * algorithm wasn't a supported EdDSA algorithm. */ - public EdDSAParameterSpec getEdwardsCurveParams(int algorithm) { + public NamedParameterSpec getEdwardsCurveSpec(int algorithm) { AlgEntry entry = getEntry(algorithm); if (entry == null) return null; if (!(entry instanceof EdAlgEntry)) return null; - EdAlgEntry ed_entry = (EdAlgEntry) entry; + EdAlgEntry edEntry = (EdAlgEntry) entry; - return ed_entry.edSpec; + return edEntry.paramSpec; } /** * Translate a possible algorithm alias back to the original DNSSEC algorithm * number * - * @param algorithm - * a DNSSEC algorithm that may be an alias. + * @param algorithm a DNSSEC algorithm that may be an alias. * @return -1 if the algorithm isn't recognised, the orignal algorithm number * if it is. */ @@ -458,8 +462,7 @@ public class DnsKeyAlgorithm { * Given an algorithm mnemonic, convert the mnemonic to a DNSSEC algorithm * number. * - * @param s - * The mnemonic string. This is case-insensitive. + * @param s The mnemonic string. This is case-insensitive. * @return -1 if the mnemonic isn't recognized or supported, the algorithm * number if it is. */ @@ -473,8 +476,7 @@ public class DnsKeyAlgorithm { /** * Given a DNSSEC algorithm number, return the "preferred" mnemonic. * - * @param algorithm - * A DNSSEC algorithm number. + * @param algorithm A DNSSEC algorithm number. * @return The preferred mnemonic string, or null if not supported or * recognized. */ @@ -482,15 +484,15 @@ public class DnsKeyAlgorithm { return mIdToMnemonicMap.get(algorithm); } - public int baseType(int algorithm) { + public BaseAlgorithm baseType(int algorithm) { AlgEntry entry = getEntry(algorithm); if (entry != null) return entry.baseType; - return UNKNOWN; + return BaseAlgorithm.UNKNOWN; } public boolean isDSA(int algorithm) { - return (baseType(algorithm) == DSA); + return (baseType(algorithm) == BaseAlgorithm.DSA); } public KeyPair generateKeyPair(int algorithm, int keysize, boolean useLargeExp) @@ -502,14 +504,14 @@ public class DnsKeyAlgorithm { mRSAKeyGenerator = KeyPairGenerator.getInstance("RSA"); } - RSAKeyGenParameterSpec rsa_spec; + RSAKeyGenParameterSpec rsaSpec; if (useLargeExp) { - rsa_spec = new RSAKeyGenParameterSpec(keysize, RSAKeyGenParameterSpec.F4); + rsaSpec = new RSAKeyGenParameterSpec(keysize, RSAKeyGenParameterSpec.F4); } else { - rsa_spec = new RSAKeyGenParameterSpec(keysize, RSAKeyGenParameterSpec.F0); + rsaSpec = new RSAKeyGenParameterSpec(keysize, RSAKeyGenParameterSpec.F0); } try { - mRSAKeyGenerator.initialize(rsa_spec); + mRSAKeyGenerator.initialize(rsaSpec); } catch (InvalidAlgorithmParameterException e) { // Fold the InvalidAlgorithmParameterException into our existing // thrown exception. Ugly, but requires less code change. @@ -560,18 +562,9 @@ public class DnsKeyAlgorithm { break; } case EDDSA: { - if (mEdKeyGenerator == null) { - mEdKeyGenerator = KeyPairGenerator.getInstance("EdDSA"); - } + EdAlgEntry entry = (EdAlgEntry) getEntry(algorithm); + mEdKeyGenerator = KeyPairGenerator.getInstance(entry.curveName); - EdDSAParameterSpec edSpec = getEdwardsCurveParams(algorithm); - try { - mEdKeyGenerator.initialize(edSpec, new SecureRandom()); - } catch (InvalidAlgorithmParameterException e) { - // Fold the InvalidAlgorithmParameterException into our existing - // thrown exception. Ugly, but requires less code change. - throw new NoSuchAlgorithmException("invalid key parameter spec"); - } pair = mEdKeyGenerator.generateKeyPair(); break; } diff --git a/src/main/java/com/verisignlabs/dnssec/security/DnsKeyConverter.java b/src/main/java/com/verisignlabs/dnssec/security/DnsKeyConverter.java index bf65af2..e4eccd1 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/DnsKeyConverter.java +++ b/src/main/java/com/verisignlabs/dnssec/security/DnsKeyConverter.java @@ -30,12 +30,16 @@ import java.security.interfaces.DSAPrivateKey; import java.security.interfaces.DSAPublicKey; import java.security.interfaces.ECPrivateKey; import java.security.interfaces.ECPublicKey; +import java.security.interfaces.EdECPrivateKey; +import java.security.interfaces.EdECPublicKey; import java.security.interfaces.RSAPrivateCrtKey; import java.security.spec.DSAPrivateKeySpec; import java.security.spec.ECParameterSpec; import java.security.spec.ECPrivateKeySpec; +import java.security.spec.EdECPrivateKeySpec; import java.security.spec.InvalidKeySpecException; import java.security.spec.KeySpec; +import java.security.spec.NamedParameterSpec; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.RSAPrivateCrtKeySpec; import java.util.StringTokenizer; @@ -50,13 +54,6 @@ import org.xbill.DNS.DNSSEC.DNSSECException; import org.xbill.DNS.Name; import org.xbill.DNS.utils.base64; -import net.i2p.crypto.eddsa.EdDSAPrivateKey; -// For now, just import the native EdDSA classes -import net.i2p.crypto.eddsa.EdDSAPublicKey; -import net.i2p.crypto.eddsa.spec.EdDSAParameterSpec; -import net.i2p.crypto.eddsa.spec.EdDSAPrivateKeySpec; -import net.i2p.crypto.eddsa.spec.EdDSAPublicKeySpec; - /** * This class handles conversions between JCA key formats and DNSSEC and BIND9 * key formats. @@ -87,7 +84,6 @@ public class DnsKeyConverter { // Because we have arbitrarily aliased algorithms, we need to possibly // translate the aliased algorithm back to the actual algorithm. - int originalAlgorithm = mAlgorithms.originalAlgorithm(pKeyRecord.getAlgorithm()); if (originalAlgorithm <= 0) @@ -101,16 +97,6 @@ public class DnsKeyConverter { pKeyRecord.getKey()); } - // do not rely on DNSJava's method for EdDSA for now. - if (mAlgorithms.baseType(originalAlgorithm) == DnsKeyAlgorithm.EDDSA) { - try { - return parseEdDSADNSKEYRecord(pKeyRecord); - } catch (InvalidKeySpecException e) { - // just to be expedient, recast this as a NoSuchAlgorithmException. - throw new NoSuchAlgorithmException(e.getMessage()); - } - } - try { // This uses DNSJava's DNSSEC.toPublicKey() method. return pKeyRecord.getPublicKey(); @@ -119,30 +105,12 @@ public class DnsKeyConverter { } } - /** - * Since we don't (yet) have support in DNSJava for parsing the - * newer EdDSA algorithms, here is a local version. - */ - private PublicKey parseEdDSADNSKEYRecord(DNSKEYRecord pKeyRecord) - throws IllegalArgumentException, NoSuchAlgorithmException, InvalidKeySpecException { - byte[] seed = pKeyRecord.getKey(); - - EdDSAPublicKeySpec spec = new EdDSAPublicKeySpec(seed, - mAlgorithms.getEdwardsCurveParams(pKeyRecord.getAlgorithm())); - - KeyFactory factory = KeyFactory.getInstance("EdDSA"); - return factory.generatePublic(spec); - } - /** * Given a JCA public key and the ancillary data, generate a DNSKEY record. */ public DNSKEYRecord generateDNSKEYRecord(Name name, int dclass, long ttl, int flags, int alg, PublicKey key) { try { - if (mAlgorithms.baseType(alg) == DnsKeyAlgorithm.EDDSA) { - return generateEdDSADNSKEYRecord(name, dclass, ttl, flags, alg, key); - } return new DNSKEYRecord(name, dclass, ttl, flags, DNSKEYRecord.Protocol.DNSSEC, alg, key); } catch (DNSSECException e) { @@ -152,13 +120,6 @@ public class DnsKeyConverter { } } - private DNSKEYRecord generateEdDSADNSKEYRecord(Name name, int dclass, long ttl, - int flags, int alg, PublicKey key) { - EdDSAPublicKey ed_key = (EdDSAPublicKey) key; - byte[] key_data = ed_key.getAbyte(); - return new DNSKEYRecord(name, dclass, ttl, flags, DNSKEYRecord.Protocol.DNSSEC, alg, - key_data); - } // Private Key Specific Parsing routines /** @@ -168,9 +129,9 @@ public class DnsKeyConverter { PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(key); try { switch (mAlgorithms.baseType(algorithm)) { - case DnsKeyAlgorithm.RSA: + case RSA: return mRSAKeyFactory.generatePrivate(spec); - case DnsKeyAlgorithm.DSA: + case DSA: return mDSAKeyFactory.generatePrivate(spec); default: return null; @@ -225,17 +186,17 @@ public class DnsKeyConverter { int alg = parseInt(val, -1); switch (mAlgorithms.baseType(alg)) { - case DnsKeyAlgorithm.RSA: + case RSA: return parsePrivateRSA(lines); - case DnsKeyAlgorithm.DSA: + case DSA: return parsePrivateDSA(lines); - case DnsKeyAlgorithm.DH: + case DH: return parsePrivateDH(lines); - case DnsKeyAlgorithm.ECC_GOST: + case ECC_GOST: return parsePrivateECDSA(lines, alg); - case DnsKeyAlgorithm.ECDSA: + case ECDSA: return parsePrivateECDSA(lines, alg); - case DnsKeyAlgorithm.EDDSA: + case EDDSA: return parsePrivateEdDSA(lines, alg); default: throw new IOException("unsupported private key algorithm: " + val); @@ -272,12 +233,12 @@ public class DnsKeyConverter { private PrivateKey parsePrivateRSA(StringTokenizer lines) throws NoSuchAlgorithmException { BigInteger modulus = null; - BigInteger public_exponent = null; - BigInteger private_exponent = null; - BigInteger prime_p = null; - BigInteger prime_q = null; - BigInteger prime_p_exponent = null; - BigInteger prime_q_exponent = null; + BigInteger publicExponent = null; + BigInteger privateExponent = null; + BigInteger primeP = null; + BigInteger primeQ = null; + BigInteger primePExponent = null; + BigInteger primeQExponent = null; BigInteger coefficient = null; while (lines.hasMoreTokens()) { @@ -296,33 +257,28 @@ public class DnsKeyConverter { if (line.startsWith("Modulus: ")) { modulus = new BigInteger(1, data); - // printBigIntCompare(data, modulus); } else if (line.startsWith("PublicExponent: ")) { - public_exponent = new BigInteger(1, data); - // printBigIntCompare(data, public_exponent); + publicExponent = new BigInteger(1, data); } else if (line.startsWith("PrivateExponent: ")) { - private_exponent = new BigInteger(1, data); - // printBigIntCompare(data, private_exponent); + privateExponent = new BigInteger(1, data); } else if (line.startsWith("Prime1: ")) { - prime_p = new BigInteger(1, data); - // printBigIntCompare(data, prime_p); + primeP = new BigInteger(1, data); } else if (line.startsWith("Prime2: ")) { - prime_q = new BigInteger(1, data); - // printBigIntCompare(data, prime_q); + primeQ = new BigInteger(1, data); } else if (line.startsWith("Exponent1: ")) { - prime_p_exponent = new BigInteger(1, data); + primePExponent = new BigInteger(1, data); } else if (line.startsWith("Exponent2: ")) { - prime_q_exponent = new BigInteger(1, data); + primeQExponent = new BigInteger(1, data); } else if (line.startsWith("Coefficient: ")) { coefficient = new BigInteger(1, data); } } try { - KeySpec spec = new RSAPrivateCrtKeySpec(modulus, public_exponent, - private_exponent, prime_p, - prime_q, prime_p_exponent, - prime_q_exponent, coefficient); + KeySpec spec = new RSAPrivateCrtKeySpec(modulus, publicExponent, + privateExponent, primeP, + primeQ, primePExponent, + primeQExponent, coefficient); if (mRSAKeyFactory == null) { mRSAKeyFactory = KeyFactory.getInstance("RSA"); } @@ -466,13 +422,13 @@ public class DnsKeyConverter { if (mECKeyFactory == null) { mECKeyFactory = KeyFactory.getInstance("EC"); } - ECParameterSpec ec_spec = mAlgorithms.getEllipticCurveParams(algorithm); - if (ec_spec == null) { + ECParameterSpec ecSpec = mAlgorithms.getEllipticCurveParams(algorithm); + if (ecSpec == null) { throw new NoSuchAlgorithmException("DNSSEC algorithm " + algorithm + " is not a recognized Elliptic Curve algorithm"); } - KeySpec spec = new ECPrivateKeySpec(s, ec_spec); + KeySpec spec = new ECPrivateKeySpec(s, ecSpec); try { return mECKeyFactory.generatePrivate(spec); @@ -516,13 +472,13 @@ public class DnsKeyConverter { if (mEdKeyFactory == null) { mEdKeyFactory = KeyFactory.getInstance("EdDSA"); } - EdDSAParameterSpec ed_spec = mAlgorithms.getEdwardsCurveParams(algorithm); - if (ed_spec == null) { + NamedParameterSpec namedSpec = mAlgorithms.getEdwardsCurveSpec(algorithm); + if (namedSpec == null) { throw new NoSuchAlgorithmException("DNSSEC algorithm " + algorithm + " is not a recognized Edwards Curve algorithm"); } - KeySpec spec = new EdDSAPrivateKeySpec(seed, ed_spec); + EdECPrivateKeySpec spec = new EdECPrivateKeySpec(namedSpec, seed); try { return mEdKeyFactory.generatePrivate(spec); @@ -545,8 +501,8 @@ public class DnsKeyConverter { return generatePrivateDH((DHPrivateKey) priv, (DHPublicKey) pub, alg); } else if (priv instanceof ECPrivateKey && pub instanceof ECPublicKey) { return generatePrivateEC((ECPrivateKey) priv, (ECPublicKey) pub, alg); - } else if (priv instanceof EdDSAPrivateKey && pub instanceof EdDSAPublicKey) { - return generatePrivateED((EdDSAPrivateKey) priv, (EdDSAPublicKey) pub, alg); + } else if (priv instanceof EdECPrivateKey && pub instanceof EdECPublicKey) { + return generatePrivateED((EdECPrivateKey) priv, (EdECPublicKey) pub, alg); } return null; @@ -556,16 +512,16 @@ public class DnsKeyConverter { * Convert from 'unsigned' big integer to original 'signed format' in Base64 */ private static String b64BigInt(BigInteger i) { - byte[] orig_bytes = i.toByteArray(); + byte[] origBytes = i.toByteArray(); - if (orig_bytes[0] != 0 || orig_bytes.length == 1) { - return base64.toString(orig_bytes); + if (origBytes[0] != 0 || origBytes.length == 1) { + return base64.toString(origBytes); } - byte[] signed_bytes = new byte[orig_bytes.length - 1]; - System.arraycopy(orig_bytes, 1, signed_bytes, 0, signed_bytes.length); + byte[] signedBytes = new byte[origBytes.length - 1]; + System.arraycopy(origBytes, 1, signedBytes, 0, signedBytes.length); - return base64.toString(signed_bytes); + return base64.toString(signedBytes); } /** @@ -668,7 +624,7 @@ public class DnsKeyConverter { * Given an edwards curve key pair, and the actual algorithm (which will * describe the curve used), return the BIND9-style text encoding. */ - private String generatePrivateED(EdDSAPrivateKey priv, EdDSAPublicKey pub, int alg) { + private String generatePrivateED(EdECPrivateKey priv, EdECPublicKey pub, int alg) { StringWriter sw = new StringWriter(); PrintWriter out = new PrintWriter(sw); @@ -676,7 +632,8 @@ public class DnsKeyConverter { out.println("Algorithm: " + alg + " (" + mAlgorithms.algToString(alg) + ")"); out.print("PrivateKey: "); - out.println(base64.toString(priv.getSeed())); + byte[] keyBytes = priv.getBytes().orElse("null".getBytes()); + out.println(base64.toString(keyBytes)); return sw.toString(); } diff --git a/src/main/java/com/verisignlabs/dnssec/security/DnsKeyPair.java b/src/main/java/com/verisignlabs/dnssec/security/DnsKeyPair.java index eb3da10..e427da4 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/DnsKeyPair.java +++ b/src/main/java/com/verisignlabs/dnssec/security/DnsKeyPair.java @@ -264,18 +264,22 @@ public class DnsKeyPair { * @throws NoSuchAlgorithmException */ public Signature getVerifier() { - if (mVerifier == null) { - mVerifier = getSignature(); - PublicKey pk = getPublic(); - if (mVerifier != null && pk != null) { - try { - mVerifier.initVerify(pk); - } catch (InvalidKeyException e) { - } - } else { - // do not return an uninitialized verifier - return null; - } + if (mVerifier != null) + return mVerifier; + + mVerifier = getSignature(); + PublicKey pk = getPublic(); + + if (mVerifier == null || pk == null) { + log.warning("Could not get a Signature object for this key pair" + this); + return null; + } + + try { + mVerifier.initVerify(pk); + } catch (InvalidKeyException e) { + log.warning("Key pair cannot initialize with public key: " + this); + return null; } return mVerifier; @@ -327,15 +331,16 @@ public class DnsKeyPair { return -1; } - // This is from a StackOverflow answer. There are number of bytes-to-hex + // This is from a StackOverflow answer. There are number of bytes-to-hex // converters in the ecosystem, but this avoid extra dependencies private static final byte[] HEX_ARRAY = "0123456789ABCDEF".getBytes(StandardCharsets.US_ASCII); + public static String toHex(byte[] bytes) { byte[] hexChars = new byte[bytes.length * 2]; for (int j = 0; j < bytes.length; j++) { - int v = bytes[j] & 0xFF; - hexChars[j * 2] = HEX_ARRAY[v >>> 4]; - hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; + int v = bytes[j] & 0xFF; + hexChars[j * 2] = HEX_ARRAY[v >>> 4]; + hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; } return new String(hexChars, StandardCharsets.UTF_8); } diff --git a/src/main/java/com/verisignlabs/dnssec/security/DnsSecVerifier.java b/src/main/java/com/verisignlabs/dnssec/security/DnsSecVerifier.java index dca81b3..de77695 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/DnsSecVerifier.java +++ b/src/main/java/com/verisignlabs/dnssec/security/DnsSecVerifier.java @@ -238,13 +238,13 @@ public class DnsSecVerifier { for (DnsKeyPair keypair : keypairs) { Signature signer = keypair.getVerifier(); signer.update(data); - + byte[] sig = sigrec.getSignature(); - - if (algs.baseType(sigrec.getAlgorithm()) == DnsKeyAlgorithm.DSA) { + + if (algs.baseType(sigrec.getAlgorithm()) == DnsKeyAlgorithm.BaseAlgorithm.DSA) { sig = SignUtils.convertDSASignature(sig); } - + if (sigrec.getAlgorithm() == DNSSEC.Algorithm.ECDSAP256SHA256 || sigrec.getAlgorithm() == DNSSEC.Algorithm.ECDSAP384SHA384) { sig = SignUtils.convertECDSASignature(sig); diff --git a/src/main/java/com/verisignlabs/dnssec/security/JCEDnsSecSigner.java b/src/main/java/com/verisignlabs/dnssec/security/JCEDnsSecSigner.java index 34b36b8..223b278 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/JCEDnsSecSigner.java +++ b/src/main/java/com/verisignlabs/dnssec/security/JCEDnsSecSigner.java @@ -68,21 +68,14 @@ public class JCEDnsSecSigner { /** * Cryptographically generate a new DNSSEC key. * - * @param owner - * the KEY RR's owner name. - * @param ttl - * the KEY RR's TTL. - * @param dclass - * the KEY RR's DNS class. - * @param algorithm - * the DNSSEC algorithm (RSASHA258, RSASHA512, + * @param owner the KEY RR's owner name. + * @param ttl the KEY RR's TTL. + * @param dclass the KEY RR's DNS class. + * @param algorithm the DNSSEC algorithm (RSASHA258, RSASHA512, * ECDSAP256, etc.) - * @param flags - * any flags for the KEY RR. - * @param keysize - * the size of the key to generate. - * @param useLargeExponent - * if generating an RSA key, use the large exponent. + * @param flags any flags for the KEY RR. + * @param keysize the size of the key to generate. + * @param useLargeExponent if generating an RSA key, use the large exponent. * @return a DnsKeyPair with the public and private keys populated. */ public DnsKeyPair generateKey(Name owner, long ttl, int dclass, int algorithm, @@ -113,29 +106,25 @@ public class JCEDnsSecSigner { /** * Sign an RRset. * - * @param rrset - * the RRset to sign -- any existing signatures are ignored. - * @param keypars - * a list of DnsKeyPair objects containing private keys. - * @param start - * the inception time for the resulting RRSIG records. - * @param expire - * the expiration time for the resulting RRSIG records. + * @param rrset the RRset to sign -- any existing signatures are ignored. + * @param keypars a list of DnsKeyPair objects containing private keys. + * @param start the inception time for the resulting RRSIG records. + * @param expire the expiration time for the resulting RRSIG records. * @return a list of RRSIGRecord objects. */ public List signRRset(RRset rrset, List keypairs, Instant start, Instant expire) throws IOException, GeneralSecurityException { if (rrset == null || keypairs == null) - return null; + return new ArrayList<>(); // default start to now, expire to start + 1 second. if (start == null) start = Instant.now(); if (expire == null) expire = start.plusSeconds(1); - if (keypairs.size() == 0) - return null; + if (keypairs.isEmpty()) + return new ArrayList<>(); if (mVerboseSigning) { log.info("Signing RRset:"); @@ -143,9 +132,9 @@ public class JCEDnsSecSigner { } // first, pre-calculate the RRset bytes. - byte[] rrset_data = SignUtils.generateCanonicalRRsetData(rrset, 0, 0); + byte[] rrsetData = SignUtils.generateCanonicalRRsetData(rrset, 0, 0); - ArrayList sigs = new ArrayList(keypairs.size()); + ArrayList sigs = new ArrayList<>(keypairs.size()); // for each keypair, sign the RRset. for (DnsKeyPair pair : keypairs) { @@ -155,13 +144,13 @@ public class JCEDnsSecSigner { RRSIGRecord presig = SignUtils.generatePreRRSIG(rrset, keyrec, start, expire, rrset.getTTL()); - byte[] sign_data = SignUtils.generateSigData(rrset_data, presig); + byte[] signData = SignUtils.generateSigData(rrsetData, presig); if (mVerboseSigning) { log.info("Canonical pre-signature data to sign with key " + keyrec.getName().toString() + "/" + keyrec.getAlgorithm() + "/" + keyrec.getFootprint() + ":"); - log.info(hexdump.dump(null, sign_data)); + log.info(hexdump.dump(null, signData)); } Signature signer = pair.getSigner(); @@ -174,7 +163,7 @@ public class JCEDnsSecSigner { } // sign the data. - signer.update(sign_data); + signer.update(signData); byte[] sig = signer.sign(); if (mVerboseSigning) { @@ -184,7 +173,7 @@ public class JCEDnsSecSigner { DnsKeyAlgorithm algs = DnsKeyAlgorithm.getInstance(); // Convert to RFC 2536 format, if necessary. - if (algs.baseType(pair.getDNSKEYAlgorithm()) == DnsKeyAlgorithm.DSA) { + if (algs.baseType(pair.getDNSKEYAlgorithm()) == DnsKeyAlgorithm.BaseAlgorithm.DSA) { DSAPublicKey pk = (DSAPublicKey) pair.getPublic(); sig = SignUtils.convertDSASignature(pk.getParams(), sig); } @@ -206,12 +195,9 @@ public class JCEDnsSecSigner { /** * Create a completely self-signed DNSKEY RRset. * - * @param keypairs - * the public & private keypairs to use in the keyset. - * @param start - * the RRSIG inception time. - * @param expire - * the RRSIG expiration time. + * @param keypairs the public & private keypairs to use in the keyset. + * @param start the RRSIG inception time. + * @param expire the RRSIG expiration time. * @return a signed RRset. */ public RRset makeKeySet(List keypairs, Instant start, Instant expire) @@ -236,67 +222,55 @@ public class JCEDnsSecSigner { /** * Conditionally sign an RRset and add it to the toList. * - * @param toList - * the list to which we are adding the processed RRsets. - * @param zonename - * the zone apex name. - * @param rrset - * the RRset under consideration. - * @param kskpairs - * the List of KSKs.. - * @param zskpairs - * the List of zone keys. - * @param start - * the RRSIG inception time. - * @param expire - * the RRSIG expiration time. - * @param fullySignKeyset - * if true, sign the zone apex keyset with both KSKs and - * ZSKs. - * @param last_cut - * the name of the last delegation point encountered. + * @param toList the list to which we are adding the processed RRsets. + * @param zonename the zone apex name. + * @param rrset the RRset under consideration. + * @param kskpairs the List of KSKs.. + * @param zskpairs the List of zone keys. + * @param start the RRSIG inception time. + * @param expire the RRSIG expiration time. + * @param fullySignKeyset if true, sign the zone apex keyset with both KSKs + * and ZSKs. + * @param lastCut the name of the last delegation point encountered. * * @return the name of the new last_cut. */ private Name addRRset(List toList, Name zonename, RRset rrset, List kskpairs, List zskpairs, Instant start, - Instant expire, boolean fullySignKeyset, Name last_cut, - Name last_dname) throws IOException, GeneralSecurityException { + Instant expire, boolean fullySignKeyset, Name lastCut, + Name lastDname) throws IOException, GeneralSecurityException { // add the records themselves - rrset.rrs().forEach(record -> { - toList.add(record); - }); + rrset.rrs().forEach(toList::add); int type = SignUtils.recordSecType(zonename, rrset.getName(), rrset.getType(), - last_cut, last_dname); + lastCut, lastDname); // we don't sign non-normal sets (delegations, glue, invalid). if (type == SignUtils.RR_DELEGATION) { return rrset.getName(); } if (type == SignUtils.RR_GLUE || type == SignUtils.RR_INVALID) { - return last_cut; + return lastCut; } // check for the zone apex keyset. - if (rrset.getName().equals(zonename) && rrset.getType() == Type.DNSKEY) { + if (rrset.getName().equals(zonename) && rrset.getType() == Type.DNSKEY && kskpairs != null && !kskpairs.isEmpty()) { // if we have ksks, sign the keyset with them, otherwise we will just sign // them with the zsks. - if (kskpairs != null && kskpairs.size() > 0) { - List sigs = signRRset(rrset, kskpairs, start, expire); - toList.addAll(sigs); + List sigs = signRRset(rrset, kskpairs, start, expire); + toList.addAll(sigs); + + // If we aren't going to sign with all the keys, bail out now. + if (!fullySignKeyset) + return lastCut; - // If we aren't going to sign with all the keys, bail out now. - if (!fullySignKeyset) - return last_cut; - } } // otherwise, we are OK to sign this set. List sigs = signRRset(rrset, zskpairs, start, expire); toList.addAll(sigs); - return last_cut; + return lastCut; } // Various NSEC/NSEC3 generation modes @@ -311,49 +285,31 @@ public class JCEDnsSecSigner { * Opt-Out, etc.) External users of this class are expected to use the * appropriate public signZone* methods instead of this. * - * @param zonename - * The name of the zone - * @param records - * The records comprising the zone. They do not have to - * be in any - * particular order, as this method will order them as - * necessary. - * @param kskpairs - * The key pairs designated as "key signing keys" - * @param zskpairs - * The key pairs designated as "zone signing keys" - * @param start - * The RRSIG inception time - * @param expire - * The RRSIG expiration time - * @param fullySignKeyset - * If true, all keys (ksk or zsk) will sign the DNSKEY - * RRset. If - * false, only the ksks will sign it. - * @param ds_digest_alg - * The hash algorithm to use for generating DS records + * @param zonename The name of the zone + * @param records The records comprising the zone. They do not have to + * be in any particular order, as this method will + * order them as necessary. + * @param kskpairs The key pairs designated as "key signing keys" + * @param zskpairs The key pairs designated as "zone signing keys" + * @param start The RRSIG inception time + * @param expire The RRSIG expiration time + * @param fullySignKeyset If true, all keys (ksk or zsk) will sign the DNSKEY + * RRset. If false, only the ksks will sign it. + * @param dsDigestAlg The hash algorithm to use for generating DS records * (DSRecord.SHA1_DIGEST_ID, e.g.) - * @param mode - * The NSEC/NSEC3 generation mode: NSEC_MODE, NSEC3_MODE, - * NSEC3_OPTOUT_MODE, etc. - * @param includedNames - * When using an Opt-In/Opt-Out mode, the names listed - * here will be - * included in the NSEC/NSEC3 chain regardless - * @param salt - * When using an NSEC3 mode, use this salt. - * @param iterations - * When using an NSEC3 mode, use this number of + * @param mode The NSEC/NSEC3 generation mode: NSEC_MODE, + * NSEC3_MODE, NSEC3_OPTOUT_MODE, etc. + * @param includedNames When using an Opt-In/Opt-Out mode, the names listed + * here will be included in the NSEC/NSEC3 chain + * regardless + * @param salt When using an NSEC3 mode, use this salt. + * @param iterations When using an NSEC3 mode, use this number of * iterations - * @param beConservative - * If true, then only turn on the Opt-In flag when there - * are insecure - * delegations in the span. Currently this only works for - * NSEC_EXP_OPT_IN mode. - * @param nsec3paramttl - * The TTL to use for the generated NSEC3PARAM record. - * Negative - * values will use the SOA TTL. + * @param beConservative If true, then only turn on the Opt-In flag when + * there are insecure delegations in the span. + * Currently this only works for NSEC_EXP_OPT_IN mode. + * @param nsec3paramttl The TTL to use for the generated NSEC3PARAM record. + * Negative values will use the SOA TTL. * @return an ordered list of {@link org.xbill.DNS.Record} objects, * representing the signed zone. * @@ -363,7 +319,7 @@ public class JCEDnsSecSigner { private List signZone(Name zonename, List records, List kskpairs, List zskpairs, Instant start, Instant expire, boolean fullySignKeyset, - int ds_digest_alg, int mode, List includedNames, + int dsDigestAlg, int mode, List includedNames, byte[] salt, int iterations, long nsec3paramttl, boolean beConservative) throws IOException, GeneralSecurityException { @@ -380,7 +336,7 @@ public class JCEDnsSecSigner { // Generate DS records. This replaces any non-zone-apex DNSKEY RRs with DS // RRs. - SignUtils.generateDSRecords(zonename, records, ds_digest_alg); + SignUtils.generateDSRecords(zonename, records, dsDigestAlg); // Generate the NSEC or NSEC3 records based on 'mode' switch (mode) { @@ -398,6 +354,8 @@ public class JCEDnsSecSigner { SignUtils.generateOptInNSECRecords(zonename, records, includedNames, beConservative); break; + default: + throw new NoSuchAlgorithmException("Unknown NSEC/NSEC3 mode: " + mode); } // Re-sort so we can assemble into rrsets. @@ -405,9 +363,9 @@ public class JCEDnsSecSigner { // Assemble into RRsets and sign. RRset rrset = new RRset(); - ArrayList signed_records = new ArrayList(); - Name last_cut = null; - Name last_dname = null; + ArrayList signedRecords = new ArrayList<>(); + Name lastCut = null; + Name lastDname = null; for (ListIterator i = records.listIterator(); i.hasNext();) { Record r = i.next(); @@ -430,48 +388,38 @@ public class JCEDnsSecSigner { // add the RRset to the list of signed_records, regardless of // whether or not we actually end up signing the set. - last_cut = addRRset(signed_records, zonename, rrset, kskpairs, zskpairs, start, - expire, fullySignKeyset, last_cut, last_dname); + lastCut = addRRset(signedRecords, zonename, rrset, kskpairs, zskpairs, start, + expire, fullySignKeyset, lastCut, lastDname); if (rrset.getType() == Type.DNAME) - last_dname = rrset.getName(); + lastDname = rrset.getName(); rrset.clear(); rrset.addRR(r); } // add the last RR set - addRRset(signed_records, zonename, rrset, kskpairs, zskpairs, start, expire, - fullySignKeyset, last_cut, last_dname); + addRRset(signedRecords, zonename, rrset, kskpairs, zskpairs, start, expire, + fullySignKeyset, lastCut, lastDname); - return signed_records; + return signedRecords; } /** * Given a zone, sign it using standard NSEC records. * - * @param zonename - * The name of the zone. - * @param records - * The records comprising the zone. They do not have to - * be in any - * particular order, as this method will order them as - * necessary. - * @param kskpairs - * The key pairs that are designated as "key signing + * @param zonename The name of the zone. + * @param records The records comprising the zone. They do not have to + * be in any particular order, as this method will + * order them as necessary. + * @param kskpairs The key pairs that are designated as "key signing * keys". - * @param zskpairs - * This key pairs that are designated as "zone signing + * @param zskpairs This key pairs that are designated as "zone signing * keys". - * @param start - * The RRSIG inception time. - * @param expire - * The RRSIG expiration time. - * @param fullySignKeyset - * Sign the zone apex keyset with all available keys - * (instead of just - * the key signing keys). - * @param ds_digest_alg - * The digest algorithm to use when generating DS + * @param start The RRSIG inception time. + * @param expire The RRSIG expiration time. + * @param fullySignKeyset Sign the zone apex keyset with all available keys + * (instead of just the key signing keys). + * @param dsDigestAlg The digest algorithm to use when generating DS * records. * * @return an ordered list of {@link org.xbill.DNS.Record} objects, @@ -480,58 +428,42 @@ public class JCEDnsSecSigner { public List signZone(Name zonename, List records, List kskpairs, List zskpairs, Instant start, Instant expire, boolean fullySignKeyset, - int ds_digest_alg) throws IOException, + int dsDigestAlg) throws IOException, GeneralSecurityException { return signZone(zonename, records, kskpairs, zskpairs, start, expire, - fullySignKeyset, ds_digest_alg, NSEC_MODE, null, null, 0, 0, false); + fullySignKeyset, dsDigestAlg, NSEC_MODE, null, null, 0, 0, false); } /** * Given a zone, sign it using NSEC3 records. * - * @param signer - * A signer (utility) object used to actually sign stuff. - * @param zonename - * The name of the zone being signed. - * @param records - * The records comprising the zone. They do not have to - * be in any - * particular order, as this method will order them as - * necessary. - * @param kskpairs - * The key pairs that are designated as "key signing + * @param signer A signer (utility) object used to actually sign + * stuff. + * @param zonename The name of the zone being signed. + * @param records The records comprising the zone. They do not have to + * be in any particular order, as this method will + * order them as necessary. + * @param kskpairs The key pairs that are designated as "key signing * keys". - * @param zskpairs - * This key pairs that are designated as "zone signing + * @param zskpairs This key pairs that are designated as "zone signing * keys". - * @param start - * The RRSIG inception time. - * @param expire - * The RRSIG expiration time. - * @param fullySignKeyset - * If true then the DNSKEY RRset will be signed by all - * available - * keys, if false, only the key signing keys. - * @param useOptOut - * If true, insecure delegations will be omitted from the - * NSEC3 - * chain, and all NSEC3 records will have the Opt-Out - * flag set. - * @param includedNames - * A list of names to include in the NSEC3 chain + * @param start The RRSIG inception time. + * @param expire The RRSIG expiration time. + * @param fullySignKeyset If true then the DNSKEY RRset will be signed by all + * available keys, if false, only the key signing keys. + * @param useOptOut If true, insecure delegations will be omitted from + * the NSEC3 chain, and all NSEC3 records will have the + * Opt-Out flag set. + * @param includedNames A list of names to include in the NSEC3 chain * regardless. - * @param salt - * The salt to use for the NSEC3 hashing. null means no + * @param salt The salt to use for the NSEC3 hashing. null means no * salt. - * @param iterations - * The number of iterations to use for the NSEC3 hashing. - * @param ds_digest_alg - * The digest algorithm to use when generating DS + * @param iterations The number of iterations to use for the NSEC3 + * hashing. + * @param dsDigestAlg The digest algorithm to use when generating DS * records. - * @param nsec3paramttl - * The TTL to use for the generated NSEC3PARAM record. - * Negative - * values will use the SOA TTL. + * @param nsec3paramttl The TTL to use for the generated NSEC3PARAM record. + * Negative values will use the SOA TTL. * @return an ordered list of {@link org.xbill.DNS.Record} objects, * representing the signed zone. * @@ -542,16 +474,16 @@ public class JCEDnsSecSigner { List kskpairs, List zskpairs, Instant start, Instant expire, boolean fullySignKeyset, boolean useOptOut, List includedNames, - byte[] salt, int iterations, int ds_digest_alg, + byte[] salt, int iterations, int dsDigestAlg, long nsec3paramttl) throws IOException, GeneralSecurityException { if (useOptOut) { return signZone(zonename, records, kskpairs, zskpairs, start, expire, - fullySignKeyset, ds_digest_alg, NSEC3_OPTOUT_MODE, includedNames, + fullySignKeyset, dsDigestAlg, NSEC3_OPTOUT_MODE, includedNames, salt, iterations, nsec3paramttl, false); } else { return signZone(zonename, records, kskpairs, zskpairs, start, expire, - fullySignKeyset, ds_digest_alg, NSEC3_MODE, null, salt, iterations, + fullySignKeyset, dsDigestAlg, NSEC3_MODE, null, salt, iterations, nsec3paramttl, false); } } @@ -560,37 +492,25 @@ public class JCEDnsSecSigner { * Given a zone, sign it using experimental Opt-In NSEC records (see RFC * 4956). * - * @param zonename - * the name of the zone. - * @param records - * the records comprising the zone. They do not have - * to be in any - * particular order, as this method will order them - * as necessary. - * @param kskpairs - * the key pairs that are designated as "key signing - * keys". - * @param zskpairs - * this key pairs that are designated as "zone + * @param zonename the name of the zone. + * @param records the records comprising the zone. They do not + * have to be in any particular order, as this + * method will order them as necessary. + * @param kskpairs the key pairs that are designated as "key * signing keys". - * @param start - * the RRSIG inception time. - * @param expire - * the RRSIG expiration time. - * @param useConservativeOptIn - * if true, Opt-In NSEC records will only be - * generated if there are - * insecure, unsigned delegations in the span. - * @param fullySignKeyset - * sign the zone apex keyset with all available + * @param zskpairs this key pairs that are designated as "zone + * signing keys". + * @param start the RRSIG inception time. + * @param expire the RRSIG expiration time. + * @param useConservativeOptIn if true, Opt-In NSEC records will only be + * generated if there are insecure, unsigned + * delegations in the span. + * @param fullySignKeyset sign the zone apex keyset with all available * keys. - * @param ds_digest_alg - * The digest algorithm to use when generating DS + * @param dsDigestAlg The digest algorithm to use when generating DS * records. - * @param NSECIncludeNames - * names that are to be included in the NSEC chain - * regardless. This - * may be null. + * @param nsecIncludeNames names that are to be included in the NSEC chain + * regardless. This may be null. * @return an ordered list of {@link org.xbill.DNS.Record} objects, * representing the signed zone. */ @@ -598,12 +518,12 @@ public class JCEDnsSecSigner { List kskpairs, List zskpairs, Instant start, Instant expire, boolean useConservativeOptIn, - boolean fullySignKeyset, List NSECIncludeNames, - int ds_digest_alg) throws IOException, + boolean fullySignKeyset, List nsecIncludeNames, + int dsDigestAlg) throws IOException, GeneralSecurityException { return signZone(zonename, records, kskpairs, zskpairs, start, expire, - fullySignKeyset, ds_digest_alg, NSEC_EXP_OPT_IN, NSECIncludeNames, + fullySignKeyset, dsDigestAlg, NSEC_EXP_OPT_IN, nsecIncludeNames, null, 0, 0, useConservativeOptIn); } } diff --git a/src/main/java/com/verisignlabs/dnssec/security/RecordComparator.java b/src/main/java/com/verisignlabs/dnssec/security/RecordComparator.java index 9f6b312..cba43b5 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/RecordComparator.java +++ b/src/main/java/com/verisignlabs/dnssec/security/RecordComparator.java @@ -33,6 +33,7 @@ import org.xbill.DNS.Type; public class RecordComparator implements Comparator { public RecordComparator() { + // nothing to initialize } /** @@ -65,15 +66,15 @@ public class RecordComparator implements Comparator { } private int compareRDATA(Record a, Record b) { - byte[] a_rdata = a.rdataToWireCanonical(); - byte[] b_rdata = b.rdataToWireCanonical(); + byte[] aRdata = a.rdataToWireCanonical(); + byte[] bRdata = b.rdataToWireCanonical(); - for (int i = 0; i < a_rdata.length && i < b_rdata.length; i++) { - int n = (a_rdata[i] & 0xFF) - (b_rdata[i] & 0xFF); + for (int i = 0; i < aRdata.length && i < bRdata.length; i++) { + int n = (aRdata[i] & 0xFF) - (bRdata[i] & 0xFF); if (n != 0) return n; } - return (a_rdata.length - b_rdata.length); + return (aRdata.length - bRdata.length); } public int compare(Record a, Record b) { @@ -88,27 +89,27 @@ public class RecordComparator implements Comparator { if (res != 0) return res; - int a_type = a.getType(); - int b_type = b.getType(); - int sig_type = 0; + int aType = a.getType(); + int bType = b.getType(); + int sigType = 0; - if (a_type == Type.RRSIG) { - a_type = ((RRSIGRecord) a).getTypeCovered(); - if (b_type != Type.RRSIG) - sig_type = 1; + if (aType == Type.RRSIG) { + aType = ((RRSIGRecord) a).getTypeCovered(); + if (bType != Type.RRSIG) + sigType = 1; } - if (b_type == Type.RRSIG) { - b_type = ((RRSIGRecord) b).getTypeCovered(); + if (bType == Type.RRSIG) { + bType = ((RRSIGRecord) b).getTypeCovered(); if (a.getType() != Type.RRSIG) - sig_type = -1; + sigType = -1; } - res = compareTypes(a_type, b_type); + res = compareTypes(aType, bType); if (res != 0) return res; - if (sig_type != 0) - return sig_type; + if (sigType != 0) + return sigType; return compareRDATA(a, b); } diff --git a/src/main/java/com/verisignlabs/dnssec/security/SignUtils.java b/src/main/java/com/verisignlabs/dnssec/security/SignUtils.java index 384ee2c..2f4d46e 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/SignUtils.java +++ b/src/main/java/com/verisignlabs/dnssec/security/SignUtils.java @@ -77,28 +77,25 @@ public class SignUtils { log = v; } + private SignUtils() { + } + /** * Generate from some basic information a prototype RRSIG RR containing * everything but the actual signature itself. - * - * @param rrset - * the RRset being signed. - * @param key - * the public DNSKEY RR counterpart to the key being used to sign - * the - * RRset - * @param start - * the RRSIG inception time. - * @param expire - * the RRSIG expiration time. - * @param sig_ttl - * the TTL of the resulting RRSIG record. - * + * + * @param rrset the RRset being signed. + * @param key the public DNSKEY RR counterpart to the key being used to sign + * the RRset + * @param start the RRSIG inception time. + * @param expire the RRSIG expiration time. + * @param sigTTL the TTL of the resulting RRSIG record. + * * @return a prototype signature based on the RRset and key information. */ public static RRSIGRecord generatePreRRSIG(RRset rrset, DNSKEYRecord key, Instant start, - Instant expire, long sig_ttl) { - return new RRSIGRecord(rrset.getName(), rrset.getDClass(), sig_ttl, rrset.getType(), + Instant expire, long sigTTL) { + return new RRSIGRecord(rrset.getName(), rrset.getDClass(), sigTTL, rrset.getType(), key.getAlgorithm(), (int) rrset.getTTL(), expire, start, key.getFootprint(), key.getName(), null); } @@ -106,43 +103,36 @@ public class SignUtils { /** * Generate from some basic information a prototype RRSIG RR containing * everything but the actual signature itself. - * - * @param rec - * the DNS record being signed (forming an entire RRset). - * @param key - * the public DNSKEY RR counterpart to the key signing the - * record. - * @param start - * the RRSIG inception time. - * @param expire - * the RRSIG expiration time. - * @param sig_ttl - * the TTL of the result RRSIG record. - * + * + * @param rec the DNS record being signed (forming an entire RRset). + * @param key the public DNSKEY RR counterpart to the key signing the record. + * @param start the RRSIG inception time. + * @param expire the RRSIG expiration time. + * @param sigTTL the TTL of the result RRSIG record. + * * @return a prototype signature based on the Record and key information. */ public static RRSIGRecord generatePreRRSIG(Record rec, DNSKEYRecord key, Instant start, - Instant expire, long sig_ttl) { - return new RRSIGRecord(rec.getName(), rec.getDClass(), sig_ttl, rec.getType(), + Instant expire, long sigTTL) { + return new RRSIGRecord(rec.getName(), rec.getDClass(), sigTTL, rec.getType(), key.getAlgorithm(), rec.getTTL(), expire, start, key.getFootprint(), key.getName(), null); } /** * Generate the binary image of the prototype RRSIG RR. - * - * @param presig - * the RRSIG RR prototype. + * + * @param presig the RRSIG RR prototype. * @return the RDATA portion of the prototype RRSIG record. This forms the * first part of the data to be signed. */ private static byte[] generatePreSigRdata(RRSIGRecord presig) { - // Generate the binary image; + // Generate the binary image DNSOutput image = new DNSOutput(); // precalc some things - long start_time = presig.getTimeSigned().getEpochSecond(); - long expire_time = presig.getExpire().getEpochSecond(); + long startTime = presig.getTimeSigned().getEpochSecond(); + long expireTime = presig.getExpire().getEpochSecond(); Name signer = presig.getSigner(); // first write out the partial SIG record (this is the SIG RDATA @@ -151,8 +141,8 @@ public class SignUtils { image.writeU8(presig.getAlgorithm()); image.writeU8(presig.getLabels()); image.writeU32((int) presig.getOrigTTL()); - image.writeU32(expire_time); - image.writeU32(start_time); + image.writeU32(expireTime); + image.writeU32(startTime); image.writeU16(presig.getFootprint()); image.writeByteArray(signer.toWireCanonical()); @@ -161,15 +151,12 @@ public class SignUtils { /** * Calculate the canonical wire line format of the RRset. - * - * @param rrset - * the RRset to convert. - * @param ttl - * the TTL to use when canonicalizing -- this is generally the - * TTL of the signature if there is a pre-existing signature. If - * not it is just the ttl of the rrset itself. - * @param labels - * the labels field of the signature, or 0. + * + * @param rrset the RRset to convert. + * @param ttl the TTL to use when canonicalizing -- this is generally the TTL + * of the signature if there is a pre-existing signature. If not + * it is just the ttl of the rrset itself. + * @param labels the labels field of the signature, or 0. * @return the canonical wire line format of the rrset. This is the second * part of data to be signed. */ @@ -196,7 +183,7 @@ public class SignUtils { // now convert the wire format records in the RRset into a // list of byte arrays. - ArrayList canonical_rrs = new ArrayList(); + ArrayList canonicalRRs = new ArrayList<>(); for (Record r : rrset.rrs()) { if (r.getTTL() != ttl || wildcardName) { // If necessary, we need to create a new record with a new ttl @@ -205,8 +192,8 @@ public class SignUtils { // response. r = Record.newRecord(n, r.getType(), r.getDClass(), ttl, r.rdataToWireCanonical()); } - byte[] wire_fmt = r.toWireCanonical(); - canonical_rrs.add(wire_fmt); + byte[] wireFmt = r.toWireCanonical(); + canonicalRRs.add(wireFmt); } // put the records into the correct ordering. @@ -216,9 +203,9 @@ public class SignUtils { int offset = rrset.getName().toWireCanonical().length + 10; ByteArrayComparator bac = new ByteArrayComparator(offset, false); - Collections.sort(canonical_rrs, bac); + Collections.sort(canonicalRRs, bac); - for (byte[] wire_fmt_rec : canonical_rrs) { + for (byte[] wire_fmt_rec : canonicalRRs) { image.writeByteArray(wire_fmt_rec); } @@ -228,44 +215,38 @@ public class SignUtils { /** * Given an RRset and the prototype signature, generate the canonical data * that is to be signed. - * - * @param rrset - * the RRset to be signed. - * @param presig - * a prototype SIG RR created using the same RRset. + * + * @param rrset the RRset to be signed. + * @param presig a prototype SIG RR created using the same RRset. * @return a block of data ready to be signed. */ public static byte[] generateSigData(RRset rrset, RRSIGRecord presig) throws IOException { - byte[] rrset_data = generateCanonicalRRsetData(rrset, presig.getOrigTTL(), + byte[] rrsetData = generateCanonicalRRsetData(rrset, presig.getOrigTTL(), presig.getLabels()); - return generateSigData(rrset_data, presig); + return generateSigData(rrsetData, presig); } /** * Given an RRset and the prototype signature, generate the canonical data * that is to be signed. - * - * @param rrset_data - * the RRset converted into canonical wire line format (as per - * the - * canonicalization rules in RFC 2535). - * @param presig - * the prototype signature based on the same RRset represented - * in - * rrset_data. + * + * @param rrsetData the RRset converted into canonical wire line format (as + * per the canonicalization rules in RFC 2535). + * @param presig the prototype signature based on the same RRset represented + * in rrset_data. * @return a block of data ready to be signed. */ - public static byte[] generateSigData(byte[] rrset_data, RRSIGRecord presig) + public static byte[] generateSigData(byte[] rrsetData, RRSIGRecord presig) throws IOException { - byte[] sig_rdata = generatePreSigRdata(presig); + byte[] sigRdata = generatePreSigRdata(presig); - ByteArrayOutputStream image = new ByteArrayOutputStream(sig_rdata.length - + rrset_data.length); + ByteArrayOutputStream image = new ByteArrayOutputStream(sigRdata.length + + rrsetData.length); - image.write(sig_rdata); - image.write(rrset_data); + image.write(sigRdata); + image.write(rrsetData); return image.toByteArray(); } @@ -273,11 +254,9 @@ public class SignUtils { /** * Given the actual signature and the prototype signature, combine them and * return the fully formed RRSIGRecord. - * - * @param signature - * the cryptographic signature, in DNSSEC format. - * @param presig - * the prototype RRSIG RR to add the signature to. + * + * @param signature the cryptographic signature, in DNSSEC format. + * @param presig the prototype RRSIG RR to add the signature to. * @return the fully formed RRSIG RR. */ public static RRSIGRecord generateRRSIG(byte[] signature, RRSIGRecord presig) { @@ -291,61 +270,58 @@ public class SignUtils { /** * Converts from a RFC 2536 formatted DSA signature to a JCE (ASN.1) formatted * signature. - * + * *

* ASN.1 format = ASN1_SEQ . seq_length . ASN1_INT . Rlength . R . ANS1_INT . * Slength . S *

- * + * * The integers R and S may have a leading null byte to force the integer * positive. - * - * @param signature - * the RFC 2536 formatted DSA signature. + * + * @param signature the RFC 2536 formatted DSA signature. * @return The ASN.1 formatted DSA signature. - * @throws SignatureException - * if there was something wrong with the RFC 2536 - * formatted - * signature. + * @throws SignatureException if there was something wrong with the RFC 2536 + * formatted signature. */ public static byte[] convertDSASignature(byte[] signature) throws SignatureException { if (signature.length != 41) throw new SignatureException("RFC 2536 signature not expected length."); - byte r_pad = 0; - byte s_pad = 0; + byte rPad = 0; + byte sPad = 0; // handle initial null byte padding. if (signature[1] < 0) - r_pad++; + rPad++; if (signature[21] < 0) - s_pad++; + sPad++; // ASN.1 length = R length + S length + (2 + 2 + 2), where each 2 // is for a ASN.1 type-length byte pair of which there are three // (SEQ, INT, INT). - byte sig_length = (byte) (40 + r_pad + s_pad + 6); + byte sigLength = (byte) (40 + rPad + sPad + 6); - byte sig[] = new byte[sig_length]; + byte[] sig = new byte[sigLength]; byte pos = 0; sig[pos++] = ASN1_SEQ; - sig[pos++] = (byte) (sig_length - 2); // all but the SEQ type+length. + sig[pos++] = (byte) (sigLength - 2); // all but the SEQ type+length. sig[pos++] = ASN1_INT; - sig[pos++] = (byte) (20 + r_pad); + sig[pos++] = (byte) (20 + rPad); // copy the value of R, leaving a null byte if necessary - if (r_pad == 1) + if (rPad == 1) sig[pos++] = 0; System.arraycopy(signature, 1, sig, pos, 20); pos += 20; sig[pos++] = ASN1_INT; - sig[pos++] = (byte) (20 + s_pad); + sig[pos++] = (byte) (20 + sPad); // copy the value of S, leaving a null byte if necessary - if (s_pad == 1) + if (sPad == 1) sig[pos++] = 0; System.arraycopy(signature, 21, sig, pos, 20); @@ -356,24 +332,20 @@ public class SignUtils { /** * Converts from a JCE (ASN.1) formatted DSA signature to a RFC 2536 compliant * signature. - * + * *

* rfc2536 format = T . R . S *

- * + * * where T is a number between 0 and 8, which is based on the DSA key length, * and R & S are formatted to be exactly 20 bytes each (no leading null * bytes). - * - * @param params - * the DSA parameters associated with the DSA key used to - * generate - * the signature. - * @param signature - * the ASN.1 formatted DSA signature. + * + * @param params the DSA parameters associated with the DSA key used to + * generate the signature. + * @param signature the ASN.1 formatted DSA signature. * @return a RFC 2536 formatted DSA signature. - * @throws SignatureException - * if something is wrong with the ASN.1 format. + * @throws SignatureException if something is wrong with the ASN.1 format. */ public static byte[] convertDSASignature(DSAParams params, byte[] signature) throws SignatureException { @@ -381,16 +353,16 @@ public class SignUtils { throw new SignatureException("Invalid ASN.1 signature format: expected SEQ, INT"); } - byte r_pad = (byte) (signature[3] - 20); + byte rPad = (byte) (signature[3] - 20); - if (signature[24 + r_pad] != ASN1_INT) { + if (signature[24 + rPad] != ASN1_INT) { throw new SignatureException( "Invalid ASN.1 signature format: expected SEQ, INT, INT"); } log.finer("(start) ASN.1 DSA Sig:\n" + base64.toString(signature)); - byte s_pad = (byte) (signature[25 + r_pad] - 20); + byte sPad = (byte) (signature[25 + rPad] - 20); byte[] sig = new byte[41]; // all rfc2536 signatures are 41 bytes. @@ -398,26 +370,26 @@ public class SignUtils { sig[0] = (byte) ((params.getP().bitLength() - 512) / 64); // copy R value - if (r_pad >= 0) { - System.arraycopy(signature, 4 + r_pad, sig, 1, 20); + if (rPad >= 0) { + System.arraycopy(signature, 4 + rPad, sig, 1, 20); } else { // R is shorter than 20 bytes, so right justify the number // (r_pad is negative here, remember?). - Arrays.fill(sig, 1, 1 - r_pad, (byte) 0); - System.arraycopy(signature, 4, sig, 1 - r_pad, 20 + r_pad); + Arrays.fill(sig, 1, 1 - rPad, (byte) 0); + System.arraycopy(signature, 4, sig, 1 - rPad, 20 + rPad); } // copy S value - if (s_pad >= 0) { - System.arraycopy(signature, 26 + r_pad + s_pad, sig, 21, 20); + if (sPad >= 0) { + System.arraycopy(signature, 26 + rPad + sPad, sig, 21, 20); } else { // S is shorter than 20 bytes, so right justify the number // (s_pad is negative here). - Arrays.fill(sig, 21, 21 - s_pad, (byte) 0); - System.arraycopy(signature, 26 + r_pad, sig, 21 - s_pad, 20 + s_pad); + Arrays.fill(sig, 21, 21 - sPad, (byte) 0); + System.arraycopy(signature, 26 + rPad, sig, 21 - sPad, 20 + sPad); } - if (r_pad < 0 || s_pad < 0) { + if (rPad < 0 || sPad < 0) { log.finer("(finish ***) RFC 2536 DSA Sig:\n" + base64.toString(sig)); } else { @@ -444,103 +416,107 @@ public class SignUtils { /** * Convert a JCE standard ECDSA signature (which is a ASN.1 encoding) into a * standard DNS signature. - * + * * The format of the ASN.1 signature is - * + * * ASN1_SEQ . seq_length . ASN1_INT . r_length . R . ANS1_INT . s_length . S - * + * * where R and S may have a leading zero byte if without it the values would * be negative. * * The format of the DNSSEC signature is just R . S where R and S are both * exactly "length" bytes. - * - * @param signature - * The output of a ECDSA signature object. + * + * @param signature The output of a ECDSA signature object. * @return signature data formatted for use in DNSSEC. * @throws SignatureException if the ASN.1 encoding appears to be corrupt. */ public static byte[] convertECDSASignature(int algorithm, byte[] signature) throws SignatureException { - int exp_length = ecdsaLength(algorithm); - byte[] sig = new byte[exp_length * 2]; + int expLength = ecdsaLength(algorithm); + byte[] sig = new byte[expLength * 2]; if (signature[0] != ASN1_SEQ || signature[2] != ASN1_INT) { throw new SignatureException("Invalid ASN.1 signature format: expected SEQ, INT"); } - int r_len = signature[3]; - int r_pos = 4; + int rLen = signature[3]; + int rPos = 4; - if (signature[r_pos + r_len] != ASN1_INT) { + if (signature[rPos + rLen] != ASN1_INT) { throw new SignatureException("Invalid ASN.1 signature format: expected SEQ, INT, INT"); } - int s_pos = r_pos + r_len + 2; - int s_len = signature[r_pos + r_len + 1]; + int sPos = rPos + rLen + 2; + int sLen = signature[rPos + rLen + 1]; // Adjust for leading zeros on both R and S - if (signature[r_pos] == 0) { - r_pos++; - r_len--; + if (signature[rPos] == 0) { + rPos++; + rLen--; } - if (signature[s_pos] == 0) { - s_pos++; - s_len--; + if (signature[sPos] == 0) { + sPos++; + sLen--; } - System.arraycopy(signature, r_pos, sig, 0 + (exp_length - r_len), r_len); - System.arraycopy(signature, s_pos, sig, exp_length + (exp_length - s_len), s_len); + System.arraycopy(signature, rPos, sig, 0 + (expLength - rLen), rLen); + System.arraycopy(signature, sPos, sig, expLength + (expLength - sLen), sLen); return sig; } /** - * Convert a DNS standard ECDSA signature (defined in RFC 6605) into a - * JCE standard ECDSA signature, which is encoded in ASN.1. - * + * Convert a DNS standard ECDSA signature (defined in RFC 6605) into a JCE + * standard ECDSA signature, which is encoded in ASN.1. + * * The format of the ASN.1 signature is - * + * * ASN1_SEQ . seq_length . ASN1_INT . r_length . R . ANS1_INT . s_length . S - * + * * where R and S may have a leading zero byte if without it the values would * be negative. * * The format of the DNSSEC signature is just R . S where R and S are both * exactly "length" bytes. - * - * @param signature - * The binary signature data from an RRSIG record. + * + * @param signature The binary signature data from an RRSIG record. * @return signature data that may be used in a JCE Signature object for * verification purposes. */ public static byte[] convertECDSASignature(byte[] signature) { - byte r_src_pos, r_src_len, r_pad, s_src_pos, s_src_len, s_pad, len; + byte rSrcPos; + byte rSrcLen; + byte rPad; + byte sSrcPos; + byte sSrcLen; + byte sPad; + byte len; - r_src_len = s_src_len = (byte) (signature.length / 2); - r_src_pos = 0; - r_pad = 0; - s_src_pos = (byte) (r_src_pos + r_src_len); - s_pad = 0; - len = (byte) (6 + r_src_len + s_src_len); + rSrcLen = sSrcLen = (byte) (signature.length / 2); + rSrcPos = 0; + rPad = 0; + sSrcPos = (byte) (rSrcPos + rSrcLen); + sPad = 0; + len = (byte) (6 + rSrcLen + sSrcLen); // leading zeroes are forbidden - while (signature[r_src_pos] == 0 && r_src_len > 0) { - r_src_pos++; - r_src_len--; + while (signature[rSrcPos] == 0 && rSrcLen > 0) { + rSrcPos++; + rSrcLen--; len--; } - while (signature[s_src_pos] == 0 && s_src_len > 0) { - s_src_pos++; - s_src_len--; + while (signature[sSrcPos] == 0 && sSrcLen > 0) { + sSrcPos++; + sSrcLen--; len--; } // except when they are mandatory - if (r_src_len > 0 && signature[r_src_pos] < 0) { - r_pad = 1; + if (rSrcLen > 0 && signature[rSrcPos] < 0) { + rPad = 1; len++; } - if (s_src_len > 0 && signature[s_src_pos] < 0) { - s_pad = 1; + if (sSrcLen > 0 && signature[sSrcPos] < 0) { + sPad = 1; len++; } byte[] sig = new byte[len]; @@ -549,60 +525,56 @@ public class SignUtils { sig[pos++] = ASN1_SEQ; sig[pos++] = (byte) (len - 2); sig[pos++] = ASN1_INT; - sig[pos++] = (byte) (r_src_len + r_pad); - pos += r_pad; - System.arraycopy(signature, r_src_pos, sig, pos, r_src_len); - pos += r_src_len; + sig[pos++] = (byte) (rSrcLen + rPad); + pos += rPad; + System.arraycopy(signature, rSrcPos, sig, pos, rSrcLen); + pos += rSrcLen; sig[pos++] = ASN1_INT; - sig[pos++] = (byte) (s_src_len + s_pad); - pos += s_pad; - System.arraycopy(signature, s_src_pos, sig, pos, s_src_len); + sig[pos++] = (byte) (sSrcLen + sPad); + pos += sPad; + System.arraycopy(signature, sSrcPos, sig, pos, sSrcLen); return sig; } /** * This is a convenience routine to help us classify records/RRsets. - * + * * It characterizes a record/RRset as one of the following classes:
*
- * + * *
NORMAL
*
This record/set is properly within the zone an subject to all NXT and * SIG processing.
- * + * *
DELEGATION
*
This is a zone delegation point (or cut). It is used in NXT processing * but is not signed.
- * + * *
GLUE
*
This is a glue record and therefore not properly within the zone. It is * not included in NXT or SIG processing. Normally glue records are A records, * but this routine calls anything that is below a zone delegation glue.
- * + * *
INVALID
*
This record doesn't even belong in the zone.
- * + * *
*
- * + * * This method must be called successively on records in the canonical name * ordering, and the caller must maintain the last_cut parameter. - * - * @param zonename - * the name of the zone that is being processed. - * @param name - * the name of the record/set under consideration. - * @param type - * the type of the record/set under consideration. - * @param last_cut - * the name of the last DELEGATION record/set that was - * encountered - * while iterating over the zone in canonical order. + * + * @param zonename the name of the zone that is being processed. + * @param name the name of the record/set under consideration. + * @param type the type of the record/set under consideration. + * @param lastCut the name of the last DELEGATION record/set that was + * encountered while iterating over the zone in canonical + * order. */ - public static int recordSecType(Name zonename, Name name, int type, Name last_cut, - Name last_dname) { + public static int recordSecType(Name zonename, Name name, int type, Name lastCut, + Name lastDname) { // records not even in the zone itself are invalid. if (!name.subdomain(zonename)) return RR_INVALID; @@ -611,11 +583,11 @@ public class SignUtils { if (name.equals(zonename)) return RR_NORMAL; - if (last_cut != null && name.subdomain(last_cut)) { + if (lastCut != null && name.subdomain(lastCut)) { // if we are at the same level as a delegation point, but not one of a set of // types allowed at // a delegation point (NS, DS, NSEC), this is glue. - if (name.equals(last_cut)) { + if (name.equals(lastCut)) { if (type != Type.NS && type != Type.DS && type != Type.NXT && type != Type.NSEC) { return RR_GLUE; } @@ -628,8 +600,8 @@ public class SignUtils { } // if we are below a DNAME, then the RR is invalid. - if (last_dname != null && name.subdomain(last_dname) - && name.labels() > last_dname.labels()) { + if (lastDname != null && name.subdomain(lastDname) + && name.labels() > lastDname.labels()) { return RR_INVALID; } @@ -652,7 +624,7 @@ public class SignUtils { */ public static List assembleIntoRRsets(List records) { RRset rrset = new RRset(); - ArrayList rrsets = new ArrayList(); + ArrayList rrsets = new ArrayList<>(); for (Record r : records) { // First record @@ -702,7 +674,7 @@ public class SignUtils { this.type = nodeType; this.ttl = r.getTTL(); this.dclass = r.getDClass(); - this.typemap = new HashSet(); + this.typemap = new HashSet<>(); this.isSecureNode = false; this.hasOptInSpan = false; addType(r.getType()); @@ -723,7 +695,7 @@ public class SignUtils { } public String toString() { - StringBuffer sb = new StringBuffer(name.toString()); + StringBuilder sb = new StringBuilder(name.toString()); if (isSecureNode) sb.append("(S)"); if (hasOptInSpan) @@ -745,83 +717,79 @@ public class SignUtils { /** * Given a canonical (by name) ordered list of records in a zone, generate the * NSEC records in place. - * + * * Note that the list that the records are stored in must support the * listIterator.add() operation. - * - * @param zonename - * the name of the zone (used to distinguish between zone apex - * NS - * RRsets and delegations). - * @param records - * a list of {@link org.xbill.DNS.Record} objects in DNSSEC - * canonical - * order. + * + * @param zonename the name of the zone (used to distinguish between zone apex + * NS RRsets and delegations). + * @param records a list of {@link org.xbill.DNS.Record} objects in DNSSEC + * canonical order. */ public static void generateNSECRecords(Name zonename, List records) { // This works by iterating over a known sorted list of records. - NodeInfo last_node = null; - NodeInfo current_node = null; + NodeInfo lastNode = null; + NodeInfo currentNode = null; - Name last_cut = null; - Name last_dname = null; + Name lastCut = null; + Name lastDname = null; int backup; - long nsec_ttl = 0; + long nsecTTL = 0; // First find the SOA record -- it should be near the beginning -- and get // the soa minimum for (Record r : records) { if (r.getType() == Type.SOA) { SOARecord soa = (SOARecord) r; - nsec_ttl = Math.min(soa.getMinimum(), soa.getTTL()); + nsecTTL = Math.min(soa.getMinimum(), soa.getTTL()); break; } } - if (nsec_ttl == 0) { + if (nsecTTL == 0) { throw new IllegalArgumentException("Zone did not contain a SOA record"); } for (ListIterator i = records.listIterator(); i.hasNext();) { Record r = i.next(); - Name r_name = r.getName(); - int r_type = r.getType(); - int r_sectype = recordSecType(zonename, r_name, r_type, last_cut, last_dname); + Name rName = r.getName(); + int rType = r.getType(); + int rSecType = recordSecType(zonename, rName, rType, lastCut, lastDname); // skip irrelevant records - if (r_sectype == RR_INVALID || r_sectype == RR_GLUE) + if (rSecType == RR_INVALID || rSecType == RR_GLUE) continue; // note our last delegation point so we can recognize glue. - if (r_sectype == RR_DELEGATION) - last_cut = r_name; + if (rSecType == RR_DELEGATION) + lastCut = rName; // if this is a DNAME, note it so we can recognize junk - if (r_type == Type.DNAME) - last_dname = r_name; + if (rType == Type.DNAME) + lastDname = rName; // first node -- initialize - if (current_node == null) { - current_node = new NodeInfo(r, r_sectype); - current_node.addType(Type.RRSIG); - current_node.addType(Type.NSEC); + if (currentNode == null) { + currentNode = new NodeInfo(r, rSecType); + currentNode.addType(Type.RRSIG); + currentNode.addType(Type.NSEC); continue; } // record name hasn't changed, so we are still on the same node. - if (r_name.equals(current_node.name)) { - current_node.addType(r_type); + if (rName.equals(currentNode.name)) { + currentNode.addType(rType); continue; } - if (last_node != null) { - NSECRecord nsec = new NSECRecord(last_node.name, last_node.dclass, nsec_ttl, - current_node.name, last_node.getTypes()); + if (lastNode != null) { + NSECRecord nsec = new NSECRecord(lastNode.name, lastNode.dclass, nsecTTL, + currentNode.name, lastNode.getTypes()); // Note: we have to add this through the iterator, otherwise // the next access via the iterator will generate a // ConcurrencyModificationException. - backup = i.nextIndex() - last_node.nsecIndex; + backup = i.nextIndex() - lastNode.nsecIndex; for (int j = 0; j < backup; j++) i.previous(); i.add(nsec); @@ -831,25 +799,25 @@ public class SignUtils { log.finer("Generated: " + nsec); } - last_node = current_node; + lastNode = currentNode; - current_node.nsecIndex = i.previousIndex(); - current_node = new NodeInfo(r, r_sectype); - current_node.addType(Type.RRSIG); - current_node.addType(Type.NSEC); + currentNode.nsecIndex = i.previousIndex(); + currentNode = new NodeInfo(r, rSecType); + currentNode.addType(Type.RRSIG); + currentNode.addType(Type.NSEC); } // Generate next to last NSEC - if (last_node != null) { - NSECRecord nsec = new NSECRecord(last_node.name, last_node.dclass, nsec_ttl, - current_node.name, last_node.getTypes()); - records.add(last_node.nsecIndex - 1, nsec); + if (lastNode != null) { + NSECRecord nsec = new NSECRecord(lastNode.name, lastNode.dclass, nsecTTL, + currentNode.name, lastNode.getTypes()); + records.add(lastNode.nsecIndex - 1, nsec); log.finer("Generated: " + nsec); } // Generate last NSEC - NSECRecord nsec = new NSECRecord(current_node.name, current_node.dclass, nsec_ttl, - zonename, current_node.getTypes()); + NSECRecord nsec = new NSECRecord(currentNode.name, currentNode.dclass, nsecTTL, + zonename, currentNode.getTypes()); records.add(nsec); log.finer("Generated: " + nsec); @@ -858,100 +826,92 @@ public class SignUtils { /** * Given a canonical (by name) ordered list of records in a zone, generate the * NSEC3 records in place. - * + * * Note that the list that the records are stored in must support the * listIterator.add() operation. - * - * @param zonename - * the name of the zone (used to distinguish between zone - * apex NS - * RRsets and delegations). - * @param records - * a list of {@link org.xbill.DNS.Record} objects in - * DNSSEC canonical - * order. - * @param salt - * The NSEC3 salt to use (may be null or empty for no - * salt). - * @param iterations - * The number of hash iterations to use. - * @param nsec3param_ttl - * The TTL to use for the generated NSEC3PARAM records - * (NSEC3 records - * will use the SOA minimum) + * + * @param zonename the name of the zone (used to distinguish between zone + * apex NS RRsets and delegations). + * @param records a list of {@link org.xbill.DNS.Record} objects in + * DNSSEC canonical order. + * @param salt The NSEC3 salt to use (may be null or empty for no + * salt). + * @param iterations The number of hash iterations to use. + * @param nsec3paramTTL The TTL to use for the generated NSEC3PARAM records + * (NSEC3 records will use the SOA minimum) * @throws NoSuchAlgorithmException */ public static void generateNSEC3Records(Name zonename, List records, - byte[] salt, int iterations, long nsec3param_ttl) + byte[] salt, int iterations, long nsec3paramTTL) throws NoSuchAlgorithmException { - List proto_nsec3s = new ArrayList(); - NodeInfo current_node = null; - NodeInfo last_node = null; + List protoNSEC3s = new ArrayList<>(); + NodeInfo currentNode = null; + NodeInfo lastNode = null; // For detecting glue. - Name last_cut = null; + Name lastCut = null; // For detecting junk below a DNAME - Name last_dname = null; + Name lastDname = null; - long nsec3_ttl = 0; + long nsec3TTL = 0; for (Record r : records) { - Name r_name = r.getName(); - int r_type = r.getType(); + Name rName = r.getName(); + int rType = r.getType(); // Classify this record so we know if we can skip it. - int r_sectype = recordSecType(zonename, r_name, r_type, last_cut, last_dname); + int rSecType = recordSecType(zonename, rName, rType, lastCut, lastDname); // skip irrelevant records - if (r_sectype == RR_INVALID || r_sectype == RR_GLUE) + if (rSecType == RR_INVALID || rSecType == RR_GLUE) continue; // note our last delegation point so we can recognize glue. - if (r_sectype == RR_DELEGATION) - last_cut = r_name; + if (rSecType == RR_DELEGATION) + lastCut = rName; // note our last DNAME point, so we can recognize junk. - if (r_type == Type.DNAME) - last_dname = r_name; + if (rType == Type.DNAME) + lastDname = rName; - if (r_type == Type.SOA) { + if (rType == Type.SOA) { SOARecord soa = (SOARecord) r; - nsec3_ttl = Math.min(soa.getMinimum(), soa.getTTL()); - if (nsec3param_ttl < 0) { - nsec3param_ttl = nsec3_ttl; + nsec3TTL = Math.min(soa.getMinimum(), soa.getTTL()); + if (nsec3paramTTL < 0) { + nsec3paramTTL = nsec3TTL; } } // For the first iteration, we create our current node. - if (current_node == null) { - current_node = new NodeInfo(r, r_sectype); + if (currentNode == null) { + currentNode = new NodeInfo(r, rSecType); continue; } // If we are at the same name, we are on the same node. - if (r_name.equals(current_node.name)) { - current_node.addType(r_type); + if (rName.equals(currentNode.name)) { + currentNode.addType(rType); continue; } // At this point, r represents the start of a new node. // So we move current_node to last_node and generate a new current node. // But first, we need to do something with the last node. - generateNSEC3ForNode(last_node, zonename, salt, iterations, false, proto_nsec3s); + generateNSEC3ForNode(lastNode, zonename, salt, iterations, false, protoNSEC3s); - last_node = current_node; - current_node = new NodeInfo(r, r_sectype); + lastNode = currentNode; + currentNode = new NodeInfo(r, rSecType); } // process last two nodes. - generateNSEC3ForNode(last_node, zonename, salt, iterations, false, proto_nsec3s); - generateNSEC3ForNode(current_node, zonename, salt, iterations, false, proto_nsec3s); + generateNSEC3ForNode(lastNode, zonename, salt, iterations, false, protoNSEC3s); + generateNSEC3ForNode(currentNode, zonename, salt, iterations, false, protoNSEC3s); - List nsec3s = finishNSEC3s(proto_nsec3s, nsec3_ttl); + List nsec3s = finishNSEC3s(protoNSEC3s, nsec3TTL); records.addAll(nsec3s); NSEC3PARAMRecord nsec3param = new NSEC3PARAMRecord(zonename, DClass.IN, - nsec3param_ttl, + nsec3paramTTL, NSEC3Record.SHA1_DIGEST_ID, (byte) 0, iterations, salt); records.add(nsec3param); @@ -963,118 +923,108 @@ public class SignUtils { * NSEC3 records in place using Opt-Out NSEC3 records. This means that * non-apex NS RRs (and glue below those delegations) will, by default, not be * included in the NSEC3 chain. - * + * * Note that the list that the records are stored in must support the * listIterator.add() operation. - * - * @param zonename - * the name of the zone (used to distinguish between zone - * apex NS - * RRsets and delegations). - * @param records - * a list of {@link org.xbill.DNS.Record} objects in - * DNSSEC canonical - * order. - * @param includedNames - * A list of {@link org.xbill.DNS.Name} objects. These - * names will be - * included in the NSEC3 chain (if they exist in the zone) - * regardless. - * @param salt - * The NSEC3 salt to use (may be null or empty for no - * salt). - * @param iterations - * The number of hash iterations to use. - * @param nsec3param_ttl - * The TTL to use for the generated NSEC3PARAM records - * (NSEC3 records - * will use the SOA minimum) + * + * @param zonename the name of the zone (used to distinguish between zone + * apex NS RRsets and delegations). + * @param records a list of {@link org.xbill.DNS.Record} objects in + * DNSSEC canonical order. + * @param includedNames A list of {@link org.xbill.DNS.Name} objects. These + * names will be included in the NSEC3 chain (if they + * exist in the zone) regardless. + * @param salt The NSEC3 salt to use (may be null or empty for no + * salt). + * @param iterations The number of hash iterations to use. + * @param nsec3paramTTL The TTL to use for the generated NSEC3PARAM records + * (NSEC3 records will use the SOA minimum) * @throws NoSuchAlgorithmException */ public static void generateOptOutNSEC3Records(Name zonename, List records, List includedNames, byte[] salt, - int iterations, long nsec3param_ttl) + int iterations, long nsec3paramTTL) throws NoSuchAlgorithmException { - List proto_nsec3s = new ArrayList(); - NodeInfo current_node = null; - NodeInfo last_node = null; + List protoNSEC3s = new ArrayList<>(); + NodeInfo currentNode = null; + NodeInfo lastNode = null; // For detecting glue. - Name last_cut = null; + Name lastCut = null; // For detecting out-of-zone records below a DNAME - Name last_dname = null; + Name lastDname = null; - long nsec3_ttl = 0; + long nsec3TTL = 0; HashSet includeSet = null; if (includedNames != null) { - includeSet = new HashSet(includedNames); + includeSet = new HashSet<>(includedNames); } for (Record r : records) { - Name r_name = r.getName(); - int r_type = r.getType(); + Name rName = r.getName(); + int rType = r.getType(); // Classify this record so we know if we can skip it. - int r_sectype = recordSecType(zonename, r_name, r_type, last_cut, last_dname); + int rSecType = recordSecType(zonename, rName, rType, lastCut, lastDname); // skip irrelevant records - if (r_sectype == RR_INVALID || r_sectype == RR_GLUE) + if (rSecType == RR_INVALID || rSecType == RR_GLUE) continue; // note our last delegation point so we can recognize glue. - if (r_sectype == RR_DELEGATION) - last_cut = r_name; + if (rSecType == RR_DELEGATION) + lastCut = rName; - if (r_type == Type.DNAME) - last_dname = r_name; + if (rType == Type.DNAME) + lastDname = rName; - if (r_type == Type.SOA) { + if (rType == Type.SOA) { SOARecord soa = (SOARecord) r; - nsec3_ttl = Math.min(soa.getMinimum(), soa.getTTL()); - if (nsec3param_ttl < 0) { - nsec3param_ttl = nsec3_ttl; + nsec3TTL = Math.min(soa.getMinimum(), soa.getTTL()); + if (nsec3paramTTL < 0) { + nsec3paramTTL = nsec3TTL; } } // For the first iteration, we create our current node. - if (current_node == null) { - current_node = new NodeInfo(r, r_sectype); + if (currentNode == null) { + currentNode = new NodeInfo(r, rSecType); continue; } // If we are at the same name, we are on the same node. - if (r_name.equals(current_node.name)) { - current_node.addType(r_type); + if (rName.equals(currentNode.name)) { + currentNode.addType(rType); continue; } - if (includeSet != null && includeSet.contains(current_node.name)) { - current_node.isSecureNode = true; + if (includeSet != null && includeSet.contains(currentNode.name)) { + currentNode.isSecureNode = true; } // At this point, r represents the start of a new node. // So we move current_node to last_node and generate a new current node. // But first, we need to do something with the last node. - generateNSEC3ForNode(last_node, zonename, salt, iterations, true, proto_nsec3s); + generateNSEC3ForNode(lastNode, zonename, salt, iterations, true, protoNSEC3s); - if (current_node.isSecureNode) { - last_node = current_node; + if (currentNode.isSecureNode) { + lastNode = currentNode; } else { - last_node.hasOptInSpan = true; + lastNode.hasOptInSpan = true; } - current_node = new NodeInfo(r, r_sectype); + currentNode = new NodeInfo(r, rSecType); } // process last two nodes. - generateNSEC3ForNode(last_node, zonename, salt, iterations, true, proto_nsec3s); - generateNSEC3ForNode(current_node, zonename, salt, iterations, true, proto_nsec3s); + generateNSEC3ForNode(lastNode, zonename, salt, iterations, true, protoNSEC3s); + generateNSEC3ForNode(currentNode, zonename, salt, iterations, true, protoNSEC3s); - List nsec3s = finishNSEC3s(proto_nsec3s, nsec3_ttl); + List nsec3s = finishNSEC3s(protoNSEC3s, nsec3TTL); records.addAll(nsec3s); NSEC3PARAMRecord nsec3param = new NSEC3PARAMRecord(zonename, DClass.IN, - nsec3param_ttl, + nsec3paramTTL, NSEC3Record.SHA1_DIGEST_ID, (byte) 0, iterations, salt); records.add(nsec3param); @@ -1084,19 +1034,13 @@ public class SignUtils { * For a given node (representing all of the RRsets at a given name), generate * all of the necessary NSEC3 records for it. That is, generate the NSEC3 for * the node itself, and for any potential empty non-terminals. - * - * @param node - * The node in question. - * @param zonename - * The zonename. - * @param salt - * The salt to use for the NSEC3 RRs - * @param iterations - * The iterations to use for the NSEC3 RRs. - * @param optIn - * If true, the NSEC3 will have the Opt-Out flag set. - * @param nsec3s - * The current list of NSEC3s -- this will be updated. + * + * @param node The node in question. + * @param zonename The zonename. + * @param salt The salt to use for the NSEC3 RRs + * @param iterations The iterations to use for the NSEC3 RRs. + * @param optIn If true, the NSEC3 will have the Opt-Out flag set. + * @param nsec3s The current list of NSEC3s -- this will be updated. * @throws NoSuchAlgorithmException */ private static void generateNSEC3ForNode(NodeInfo node, Name zonename, byte[] salt, @@ -1132,23 +1076,16 @@ public class SignUtils { /** * Create a "prototype" NSEC3 record. Basically, a mutable NSEC3 record. - * - * @param name - * The original ownername to use. - * @param zonename - * The zonename to use. - * @param ttl - * The TTL to use. - * @param salt - * The salt to use. - * @param iterations - * The number of hash iterations to use. - * @param optIn - * The value of the Opt-Out flag. - * @param types - * The typecodes present at this name. + * + * @param name The original ownername to use. + * @param zonename The zonename to use. + * @param ttl The TTL to use. + * @param salt The salt to use. + * @param iterations The number of hash iterations to use. + * @param optIn The value of the Opt-Out flag. + * @param types The typecodes present at this name. * @return A mutable NSEC3 record. - * + * * @throws NoSuchAlgorithmException */ private static ProtoNSEC3 generateNSEC3(Name name, Name zonename, long ttl, @@ -1169,62 +1106,59 @@ public class SignUtils { * Given a list of {@link ProtoNSEC3} object (mutable NSEC3 RRs), convert the * list into the set of actual {@link org.xbill.DNS.NSEC3Record} objects. This * will remove duplicates and finalize the records. - * - * @param nsec3s - * The list of ProtoNSEC3 objects - * @param ttl - * The TTL to assign to the finished NSEC3 records. In general, - * this - * should match the SOA minimum value for the zone. + * + * @param nsec3s The list of ProtoNSEC3 objects + * @param ttl The TTL to assign to the finished NSEC3 records. In general, + * this should match the SOA minimum value for the zone. * @return The list of {@link org.xbill.DNS.NSEC3Record} objects. */ private static List finishNSEC3s(List nsec3s, long ttl) { if (nsec3s == null) - return null; + return new ArrayList<>(); Collections.sort(nsec3s, new ProtoNSEC3.Comparator()); - ProtoNSEC3 prev_nsec3 = null; - ProtoNSEC3 cur_nsec3 = null; - byte[] first_nsec3_hash = null; + ProtoNSEC3 prevNSEC3 = null; + ProtoNSEC3 curNSEC3 = null; + byte[] firstNSEC3Hash = null; for (ListIterator i = nsec3s.listIterator(); i.hasNext();) { - cur_nsec3 = i.next(); + curNSEC3 = i.next(); // check to see if cur is a duplicate (by name) - if (prev_nsec3 != null - && Arrays.equals(prev_nsec3.getOwner(), cur_nsec3.getOwner())) { + if (prevNSEC3 != null + && Arrays.equals(prevNSEC3.getOwner(), curNSEC3.getOwner())) { log.fine("found duplicate NSEC3 (by name) -- merging type maps: " - + prev_nsec3.getTypemap() + " and " + cur_nsec3.getTypemap()); + + prevNSEC3.getTypemap() + " and " + curNSEC3.getTypemap()); i.remove(); - prev_nsec3.mergeTypes(cur_nsec3.getTypemap()); - log.fine("merged type map: " + prev_nsec3.getTypemap()); + prevNSEC3.mergeTypes(curNSEC3.getTypemap()); + log.fine("merged type map: " + prevNSEC3.getTypemap()); continue; } - byte[] next = cur_nsec3.getOwner(); + byte[] next = curNSEC3.getOwner(); - if (prev_nsec3 == null) { - prev_nsec3 = cur_nsec3; - first_nsec3_hash = next; + if (prevNSEC3 == null) { + prevNSEC3 = curNSEC3; + firstNSEC3Hash = next; continue; } - prev_nsec3.setNext(next); - prev_nsec3 = cur_nsec3; + prevNSEC3.setNext(next); + prevNSEC3 = curNSEC3; } // Handle last NSEC3. - if (prev_nsec3.getNext() == null) { + if (prevNSEC3.getNext() == null) { // if prev_nsec3's next field hasn't been set, then it is the last // record (i.e., all remaining records were duplicates.) - prev_nsec3.setNext(first_nsec3_hash); + prevNSEC3.setNext(firstNSEC3Hash); } else { // otherwise, cur_nsec3 is the last record. - cur_nsec3.setNext(first_nsec3_hash); + curNSEC3.setNext(firstNSEC3Hash); } // Convert our ProtoNSEC3s to actual (immutable) NSEC3Record objects. - List res = new ArrayList(nsec3s.size()); + List res = new ArrayList<>(nsec3s.size()); for (ProtoNSEC3 p : nsec3s) { p.setTTL(ttl); res.add(p.getNSEC3Record()); @@ -1236,90 +1170,85 @@ public class SignUtils { /** * Given a canonical (by name) ordered list of records in a zone, generate the * NSEC records in place. - * + * * Note that the list that the records are stored in must support the * listIterator.add operation. - * - * @param zonename - * the name of the zone apex, used to distinguish between - * authoritative and delegation NS RRsets. - * @param records - * a list of {@link org.xbill.DNS.Record}s in DNSSEC + * + * @param zonename the name of the zone apex, used to distinguish + * between authoritative and delegation NS RRsets. + * @param records a list of {@link org.xbill.DNS.Record}s in DNSSEC * canonical order. - * @param includeNames - * a list of names that should be in the NXT chain - * regardless. This - * may be null. - * @param beConservative - * if true, then Opt-In NXTs will only be generated where - * there is - * actually a span of insecure delegations. + * @param includeNames a list of names that should be in the NXT chain + * regardless. This may be null. + * @param beConservative if true, then Opt-In NXTs will only be generated + * where there is actually a span of insecure + * delegations. */ public static void generateOptInNSECRecords(Name zonename, List records, List includeNames, boolean beConservative) { // This works by iterating over a known sorted list of records. - NodeInfo last_node = null; - NodeInfo current_node = null; + NodeInfo lastNode = null; + NodeInfo currentNode = null; - Name last_cut = null; - Name last_dname = null; + Name lastCut = null; + Name lastDname = null; int backup; HashSet includeSet = null; if (includeNames != null) { - includeSet = new HashSet(includeNames); + includeSet = new HashSet<>(includeNames); } for (ListIterator i = records.listIterator(); i.hasNext();) { Record r = i.next(); - Name r_name = r.getName(); - int r_type = r.getType(); - int r_sectype = recordSecType(zonename, r_name, r_type, last_cut, last_dname); + Name rName = r.getName(); + int rType = r.getType(); + int rSecType = recordSecType(zonename, rName, rType, lastCut, lastDname); // skip irrelevant records - if (r_sectype == RR_INVALID || r_sectype == RR_GLUE) + if (rSecType == RR_INVALID || rSecType == RR_GLUE) continue; // note our last delegation point so we can recognize glue. - if (r_sectype == RR_DELEGATION) - last_cut = r_name; + if (rSecType == RR_DELEGATION) + lastCut = rName; - if (r_type == Type.DNAME) - last_dname = r_name; + if (rType == Type.DNAME) + lastDname = rName; // first node -- initialize - if (current_node == null) { - current_node = new NodeInfo(r, r_sectype); - current_node.addType(Type.RRSIG); + if (currentNode == null) { + currentNode = new NodeInfo(r, rSecType); + currentNode.addType(Type.RRSIG); continue; } // record name hasn't changed, so we are still on the same node. - if (r_name.equals(current_node.name)) { - current_node.addType(r_type); + if (rName.equals(currentNode.name)) { + currentNode.addType(rType); continue; } // If the name is in the set of included names, mark it as // secure. - if (includeSet != null && includeSet.contains(current_node.name)) { - current_node.isSecureNode = true; + if (includeSet != null && includeSet.contains(currentNode.name)) { + currentNode.isSecureNode = true; } - if (last_node != null && current_node.isSecureNode) { + if (lastNode != null && currentNode.isSecureNode) { // generate a NSEC record. - if (beConservative && !last_node.hasOptInSpan) { - last_node.addType(Type.NSEC); + if (beConservative && !lastNode.hasOptInSpan) { + lastNode.addType(Type.NSEC); } - NSECRecord nsec = new NSECRecord(last_node.name, last_node.dclass, last_node.ttl, - current_node.name, last_node.getTypes()); + NSECRecord nsec = new NSECRecord(lastNode.name, lastNode.dclass, lastNode.ttl, + currentNode.name, lastNode.getTypes()); // Note: we have to add this through the iterator, otherwise // the next access via the iterator will generate a // ConcurrencyModificationException. - backup = i.nextIndex() - last_node.nsecIndex; + backup = i.nextIndex() - lastNode.nsecIndex; for (int j = 0; j < backup; j++) i.previous(); i.add(nsec); @@ -1329,49 +1258,49 @@ public class SignUtils { log.finer("Generated: " + nsec); } - if (current_node.isSecureNode) { - last_node = current_node; - } else if (last_node != null) { + if (currentNode.isSecureNode) { + lastNode = currentNode; + } else if (lastNode != null) { // last_node does not change -- last_node is essentially the // last *secure* node, and current_node is not secure. // However, we need to note the passing of the insecure node. - last_node.hasOptInSpan = true; + lastNode.hasOptInSpan = true; } - current_node.nsecIndex = i.previousIndex(); - current_node = new NodeInfo(r, r_sectype); - current_node.addType(Type.RRSIG); + currentNode.nsecIndex = i.previousIndex(); + currentNode = new NodeInfo(r, rSecType); + currentNode.addType(Type.RRSIG); } // Generate next to last NSEC - if (last_node != null && current_node.isSecureNode) { + if (lastNode != null && currentNode.isSecureNode) { // generate a NSEC record. - if (beConservative && !last_node.hasOptInSpan) { - last_node.addType(Type.NSEC); + if (beConservative && !lastNode.hasOptInSpan) { + lastNode.addType(Type.NSEC); } - NSECRecord nsec = new NSECRecord(last_node.name, last_node.dclass, last_node.ttl, - current_node.name, last_node.getTypes()); - records.add(last_node.nsecIndex - 1, nsec); + NSECRecord nsec = new NSECRecord(lastNode.name, lastNode.dclass, lastNode.ttl, + currentNode.name, lastNode.getTypes()); + records.add(lastNode.nsecIndex - 1, nsec); log.finer("Generated: " + nsec); } // Generate last NSEC NSECRecord nsec; - if (current_node.isSecureNode) { + if (currentNode.isSecureNode) { if (beConservative) { - current_node.addType(Type.NSEC); + currentNode.addType(Type.NSEC); } - nsec = new NSECRecord(current_node.name, current_node.dclass, current_node.ttl, - zonename, current_node.getTypes()); + nsec = new NSECRecord(currentNode.name, currentNode.dclass, currentNode.ttl, + zonename, currentNode.getTypes()); // we can just tack this on the end as we are working on the // last node. records.add(nsec); } else { - nsec = new NSECRecord(last_node.name, last_node.dclass, last_node.ttl, zonename, - last_node.getTypes()); + nsec = new NSECRecord(lastNode.name, lastNode.dclass, lastNode.ttl, zonename, + lastNode.getTypes()); // We need to tack this on after the last secure node, not the // end of the whole list. - records.add(last_node.nsecIndex, nsec); + records.add(lastNode.nsecIndex, nsec); } log.finer("Generated: " + nsec); @@ -1380,30 +1309,26 @@ public class SignUtils { /** * Given a zone with DNSKEY records at delegation points, convert those KEY * records into their corresponding DS records in place. - * - * @param zonename - * the name of the zone, used to reliably distinguish the zone - * apex - * from other records. - * @param records - * a list of {@link org.xbill.DNS.Record} objects. - * @param digest_alg - * The digest algorithm to use. + * + * @param zonename the name of the zone, used to reliably distinguish the + * zone apex from other records. + * @param records a list of {@link org.xbill.DNS.Record} objects. + * @param digestAlg The digest algorithm to use. */ - public static void generateDSRecords(Name zonename, List records, int digest_alg) { + public static void generateDSRecords(Name zonename, List records, int digestAlg) { for (ListIterator i = records.listIterator(); i.hasNext();) { Record r = i.next(); if (r == null) continue; // this should never be true. - Name r_name = r.getName(); - if (r_name == null) + Name rName = r.getName(); + if (rName == null) continue; // this should never be true. // Convert non-zone level KEY records into DS records. - if (r.getType() == Type.DNSKEY && !r_name.equals(zonename)) { - DSRecord ds = calculateDSRecord((DNSKEYRecord) r, digest_alg, r.getTTL()); + if (r.getType() == Type.DNSKEY && !rName.equals(zonename)) { + DSRecord ds = calculateDSRecord((DNSKEYRecord) r, digestAlg, r.getTTL()); i.set(ds); } @@ -1412,15 +1337,13 @@ public class SignUtils { /** * Given a zone, remove all records that are generated. - * - * @param zonename - * the name of the zone. - * @param records - * a list of {@link org.xbill.DNS.Record} objects. + * + * @param zonename the name of the zone. + * @param records a list of {@link org.xbill.DNS.Record} objects. */ public static void removeGeneratedRecords(Name zonename, List records) { for (Iterator i = records.iterator(); i.hasNext();) { - Record r = (Record) i.next(); + Record r = i.next(); if (r.getType() == Type.RRSIG || r.getType() == Type.NSEC || r.getType() == Type.NSEC3 || r.getType() == Type.NSEC3PARAM) { @@ -1433,9 +1356,8 @@ public class SignUtils { * Remove duplicate records from a list of records. This routine presumes the * list of records is in a canonical sorted order, at least on name and RR * type. - * - * @param records - * a list of {@link org.xbill.DNS.Record} object, in sorted + * + * @param records a list of {@link org.xbill.DNS.Record} object, in sorted * order. */ public static void removeDuplicateRecords(List records) { @@ -1456,18 +1378,14 @@ public class SignUtils { /** * Given a DNSKEY record, generate the DS record from it. - * - * @param keyrec - * the KEY record in question. - * @param digest_alg - * The digest algorithm (SHA-1, SHA-256, etc.). - * @param ttl - * the desired TTL for the generated DS record. If zero, or - * negative, - * the original KEY RR's TTL will be used. + * + * @param keyrec the KEY record in question. + * @param digestAlg The digest algorithm (SHA-1, SHA-256, etc.). + * @param ttl the desired TTL for the generated DS record. If zero, or + * negative, the original KEY RR's TTL will be used. * @return the corresponding {@link org.xbill.DNS.DSRecord} */ - public static DSRecord calculateDSRecord(DNSKEYRecord keyrec, int digest_alg, long ttl) { + public static DSRecord calculateDSRecord(DNSKEYRecord keyrec, int digestAlg, long ttl) { if (keyrec == null) return null; @@ -1483,7 +1401,7 @@ public class SignUtils { byte[] digest; MessageDigest md; - switch (digest_alg) { + switch (digestAlg) { case DNSSEC.Digest.SHA1: md = MessageDigest.getInstance("SHA"); digest = md.digest(os.toByteArray()); @@ -1493,11 +1411,11 @@ public class SignUtils { digest = md.digest(os.toByteArray()); break; default: - throw new IllegalArgumentException("Unknown digest id: " + digest_alg); + throw new IllegalArgumentException("Unknown digest id: " + digestAlg); } return new DSRecord(keyrec.getName(), keyrec.getDClass(), ttl, - keyrec.getFootprint(), keyrec.getAlgorithm(), digest_alg, + keyrec.getFootprint(), keyrec.getAlgorithm(), digestAlg, digest); } catch (NoSuchAlgorithmException e) { @@ -1508,35 +1426,26 @@ public class SignUtils { /** * Calculate an NSEC3 hash based on a DNS name and NSEC3 hash parameters. - * - * @param n - * The name to hash. - * @param hash_algorithm - * The hash algorithm to use. - * @param iterations - * The number of iterations to do. - * @param salt - * The salt to use. + * + * @param n The name to hash. + * @param hashAlgorithm The hash algorithm to use. + * @param iterations The number of iterations to do. + * @param salt The salt to use. * @return The calculated hash as a byte array. - * @throws NoSuchAlgorithmException - * If the hash algorithm is unrecognized. + * @throws NoSuchAlgorithmException If the hash algorithm is unrecognized. */ - public static byte[] nsec3hash(Name n, int hash_algorithm, int iterations, byte[] salt) + public static byte[] nsec3hash(Name n, int hashAlgorithm, int iterations, byte[] salt) throws NoSuchAlgorithmException { MessageDigest md; - switch (hash_algorithm) { - case NSEC3Record.SHA1_DIGEST_ID: - md = MessageDigest.getInstance("SHA1"); - break; - default: - throw new NoSuchAlgorithmException("Unknown NSEC3 algorithm identifier: " - + hash_algorithm); + if (hashAlgorithm != NSEC3Record.SHA1_DIGEST_ID) { + throw new NoSuchAlgorithmException("Unknown NSEC3 algorithm identifier: " + hashAlgorithm); } + md = MessageDigest.getInstance("SHA1"); // Construct our wire form. - byte[] wire_name = n.toWireCanonical(); - byte[] res = wire_name; // for the first iteration. + byte[] wireName = n.toWireCanonical(); + byte[] res = wireName; // for the first iteration. for (int i = 0; i <= iterations; i++) { // Concatenate the salt, if it exists. if (salt != null) { diff --git a/src/main/java/com/verisignlabs/dnssec/security/TypeMap.java b/src/main/java/com/verisignlabs/dnssec/security/TypeMap.java index 84542cd..d4a8bea 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/TypeMap.java +++ b/src/main/java/com/verisignlabs/dnssec/security/TypeMap.java @@ -37,7 +37,7 @@ public class TypeMap { private Set typeSet; public TypeMap() { - this.typeSet = new HashSet(); + this.typeSet = new HashSet<>(); } /** Add the given type to the typemap. */ @@ -78,20 +78,20 @@ public class TypeMap { TypeMap typemap = new TypeMap(); int page; - int byte_length; + int byteLength; while (m < map.length) { page = map[m++]; - byte_length = map[m++]; + byteLength = map[m++]; - for (int i = 0; i < byte_length; i++) { + for (int i = 0; i < byteLength; i++) { for (int j = 0; j < 8; j++) { - if ((map[m + i] & (1 << (7 - j))) != 0) { + if (((map[m + i] & 0xFF) & (1 << (7 - j))) != 0) { typemap.set((page << 8) + (i * 8) + j); } } } - m += byte_length; + m += byteLength; } return typemap; @@ -115,7 +115,7 @@ public class TypeMap { int[] types = getTypes(); Arrays.sort(types); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < types.length; i++) { if (i > 0) @@ -129,16 +129,16 @@ public class TypeMap { protected static void mapToWire(DNSOutput out, int[] types, int base, int start, int end) { // calculate the length of this map by looking at the largest // typecode in this section. - int max_type = types[end - 1] & 0xFF; - int map_length = (max_type / 8) + 1; + int maxType = types[end - 1] & 0xFF; + int mapLength = (maxType / 8) + 1; // write the map "header" -- the base and the length of the map. out.writeU8(base & 0xFF); - out.writeU8(map_length & 0xFF); + out.writeU8(mapLength & 0xFF); // allocate a temporary scratch space for caculating the actual // bitmap. - byte[] map = new byte[map_length]; + byte[] map = new byte[mapLength]; // for each type in our sub-array, set its corresponding bit in the map. for (int i = start; i < end; i++) { @@ -179,7 +179,7 @@ public class TypeMap { } public int[] getTypes() { - Integer[] a = (Integer[]) typeSet.toArray(integerArray); + Integer[] a = typeSet.toArray(integerArray); int[] res = new int[a.length]; for (int i = 0; i < res.length; i++) { @@ -189,8 +189,8 @@ public class TypeMap { return res; } - public static int[] fromWireToTypes(byte[] wire_fmt) { - return TypeMap.fromBytes(wire_fmt).getTypes(); + public static int[] fromWireToTypes(byte[] wireFmt) { + return TypeMap.fromBytes(wireFmt).getTypes(); } public static byte[] fromTypesToWire(int[] types) { diff --git a/src/main/java/com/verisignlabs/dnssec/security/ZoneUtils.java b/src/main/java/com/verisignlabs/dnssec/security/ZoneUtils.java index 209c27d..5729197 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/ZoneUtils.java +++ b/src/main/java/com/verisignlabs/dnssec/security/ZoneUtils.java @@ -39,6 +39,10 @@ import org.xbill.DNS.Type; */ public class ZoneUtils { + + private ZoneUtils() { + } + /** * Load a zone file. * @@ -53,19 +57,10 @@ public class ZoneUtils { * if something goes wrong reading the zone file. */ public static List readZoneFile(String zonefile, Name origin) throws IOException { - ArrayList records = new ArrayList(); - Master m; - try { - if (zonefile.equals("-")) { - m = new Master(System.in); - } else { - m = new Master(zonefile, origin); - } - + ArrayList records = new ArrayList<>(); + try (Master m = zonefile.equals("-") ? new Master(System.in) : new Master(zonefile, origin)) { Record r = null; - while ((r = m.nextRecord()) != null) { - records.add(r); } } catch (IOException e) { @@ -120,7 +115,7 @@ public class ZoneUtils { } public static List findRRs(List records, Name name, int type) { - List res = new ArrayList(); + List res = new ArrayList<>(); for (Record r : records) { if (r.getName().equals(name) && r.getType() == type) { res.add(r); diff --git a/src/main/java/com/verisignlabs/dnssec/security/ZoneVerifier.java b/src/main/java/com/verisignlabs/dnssec/security/ZoneVerifier.java index be2ab22..d7eaa9b 100644 --- a/src/main/java/com/verisignlabs/dnssec/security/ZoneVerifier.java +++ b/src/main/java/com/verisignlabs/dnssec/security/ZoneVerifier.java @@ -88,10 +88,12 @@ public class ZoneVerifier { public boolean equals(Object o) { return super.equals(o); } + @Override public int hashCode() { return super.hashCode(); } + boolean getMark() { return mIsMarked; } @@ -148,7 +150,8 @@ public class ZoneVerifier { /** * Add a record to the various maps. * - * @return true if the RR was added, false if it wasn't (because it was a duplicate) + * @return true if the RR was added, false if it wasn't (because it was a + * duplicate) */ private boolean addRR(Record r) { Name n = r.getName(); @@ -206,7 +209,7 @@ public class ZoneVerifier { * Given an unsorted list of records, load the node and rrset maps, as well as * determine the NSEC3 parameters and signing type. * - * @param records + * @param records an unsorted list of {@link org.xbill.DNS.Record} objects. * @return the number of errors encountered. */ private int calculateNodes(List records) { @@ -251,7 +254,7 @@ public class ZoneVerifier { * Given a name, typeset, and name of the last zone cut, determine the node * type. */ - private NodeType determineNodeType(Name n, Set typeset, Name last_cut) { + private NodeType determineNodeType(Name n, Set typeset, Name lastCut) { // All RRs at the zone apex are normal if (n.equals(mZoneName)) return NodeType.NORMAL; @@ -263,7 +266,7 @@ public class ZoneVerifier { } // If the node is below a zone cut (either a delegation or DNAME), it is // glue. - if (last_cut != null && n.subdomain(last_cut) && !n.equals(last_cut)) { + if (lastCut != null && n.subdomain(lastCut) && !n.equals(lastCut)) { return NodeType.GLUE; } @@ -294,13 +297,13 @@ public class ZoneVerifier { */ private int processNodes() throws NoSuchAlgorithmException, TextParseException { int errors = 0; - Name last_cut = null; + Name lastCut = null; for (Map.Entry> entry : mNodeMap.entrySet()) { Name n = entry.getKey(); Set typeset = entry.getValue(); - NodeType ntype = determineNodeType(n, typeset, last_cut); + NodeType ntype = determineNodeType(n, typeset, lastCut); log.finest("Node " + n + " is type " + ntype); // we can ignore glue/invalid RRs. @@ -309,7 +312,7 @@ public class ZoneVerifier { // record the last zone cut if this node is a zone cut. if (ntype == NodeType.DELEGATION || typeset.contains(Type.DNAME)) { - last_cut = n; + lastCut = n; } // check all of the RRsets that should be signed