mkdir -p $year/ca
-for i in $TIME_IDX; do
- point=${year}${points[${i}]}
+for i in "${TIME_IDX[@]}"; do
nextp=${points[$((${i} + 1))]}
+ # adjustment of year according to RFC 5280 GeneralizedTime (>=2050) and UTCTime (<2050)
+ if (( year >= 2050 )); then
+ yearT=$year
+ else
+ yearT=$((year - 2000))
+ fi
+
+ point=${yearT}${points[${i}]}
+
if [[ "$nextp" == "" ]]; then
- epoint=$((${year} + 3 ))${epoints[${i}]}
+ eyear=$(( year + 3 ))
else
- epoint=$((${year} + 2 ))${epoints[${i}]}
+ eyear=$(( year + 2 ))
fi
- . ../CAs/env
- genca "/CN=$name ${year}-${i}" $year/ca/env_${year}_${i}
- genTimeCA $year/ca/env_${year}_${i}.ca/key env "$point" "$epoint"
-
- for ca in $STRUCT_CAS; do
- [ "$ca" == "env" ] && continue
- . ../CAs/$ca
- genKey "/CN=$name ${year}-${i}" $year/ca/${ca}_${year}_${i}
- genTimeCA $year/ca/${ca}_${year}_${i} $ca "$point" "$epoint"
+ if (( eyear >= 2050 )); then
+ eyearT=$eyear
+ else
+ eyearT=$((eyear - 2000))
+ fi
+
+
+ epoint=${eyearT}${epoints[${i}]}
+
+ for ca in "${STRUCT_CAS[@]}"; do
+ . ../CAs/$ca
+ genKey "/CN=$name ${year}-${i}" $year/ca/${ca}_${year}_${i}
+ genTimeCA $year/ca/${ca}_${year}_${i} $ca "$point" "$epoint"
done
done