## Valid scenarios
# KSK+ZSK, simple
-knot.key_gen("rsa", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
# KSK+ZSK, two algorithms
-knot.key_gen("rsa_ecdsa", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_ecdsa", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_ecdsa", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_ecdsa", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa_ecdsa", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_ecdsa", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_ecdsa", algorithm="13", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="256")
+knot.key_gen("rsa_ecdsa", algorithm="13", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="256")
# KSK+ZSK: RSA enabled, ECDSA in future
-knot.key_gen("rsa_now_ecdsa_future", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_now_ecdsa_future", ksk="false", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF)
-knot.key_gen("rsa_now_ecdsa_future", ksk="true", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF)
-knot.key_gen("rsa_now_ecdsa_future", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa_now_ecdsa_future", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_now_ecdsa_future", algorithm="13", ksk="false", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="256")
+knot.key_gen("rsa_now_ecdsa_future", algorithm="13", ksk="true", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="256")
+knot.key_gen("rsa_now_ecdsa_future", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
# KSK+ZSK, algorithm rollover (signatures pre-published)
-knot.key_gen("rsa_ecdsa_roll", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_ecdsa_roll", ksk="true", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_ecdsa_roll", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_ecdsa_roll", ksk="false", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa_ecdsa_roll", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_ecdsa_roll", algorithm="13", ksk="true", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF, size="256")
+knot.key_gen("rsa_ecdsa_roll", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_ecdsa_roll", algorithm="13", ksk="false", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF, size="256")
# STSS: KSK only
-knot.key_gen("stss_ksk", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("stss_ksk", algorithm="8", ksk="true", zsk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
# STSS: two KSKs
-knot.key_gen("stss_two_ksk", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("stss_two_ksk", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("stss_two_ksk", algorithm="8", ksk="true", zsk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("stss_two_ksk", algorithm="8", ksk="true", zsk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
# STSS: different algorithms
-knot.key_gen("stss_rsa256_rsa512", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("stss_rsa256_rsa512", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("stss_rsa256_rsa512", algorithm="8", ksk="true", zsk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("stss_rsa256_rsa512", algorithm="10", ksk="true", zsk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024", sep="false")
# KSK+ZSK for RSA, STSS for ECDSA
-knot.key_gen("rsa_split_ecdsa_stss", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_split_ecdsa_stss", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_split_ecdsa_stss", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa_split_ecdsa_stss", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_split_ecdsa_stss", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_split_ecdsa_stss", algorithm="13", ksk="true", zsk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="256")
## Invalid scenarios
# no key for now
-knot.key_gen("rsa_future_all", ksk="false", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF)
-knot.key_gen("rsa_future_all", ksk="true", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF)
+knot.key_gen("rsa_future_all", algorithm="8", ksk="false", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_future_all", algorithm="8", ksk="true", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="1024")
# key active, not published
-knot.key_gen("rsa_future_publish", ksk="false", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_future_publish", ksk="true", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa_future_publish", algorithm="8", ksk="false", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_future_publish", algorithm="8", ksk="true", created=GEN, publish=FUTU, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
# key published, not active
-knot.key_gen("rsa_future_active", ksk="true", created=GEN, publish=PAST, ready=FUTU, active=FUTU, retire=INF, remove=INF)
-knot.key_gen("rsa_future_active", ksk="false", created=GEN, publish=PAST, ready=FUTU, active=FUTU, retire=INF, remove=INF)
+knot.key_gen("rsa_future_active", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_future_active", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="1024")
# no signatures for KSK
-knot.key_gen("rsa_inactive_zsk", ksk="false", created=GEN, publish=PAST, ready=FUTU, active=FUTU, retire=INF, remove=INF)
-knot.key_gen("rsa_inactive_zsk", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
+knot.key_gen("rsa_inactive_zsk", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_inactive_zsk", algorithm="8", ksk="true", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
# no signatures for ZSK
-knot.key_gen("rsa_no_zsk", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF)
-knot.key_gen("rsa_no_zsk", ksk="true", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF)
+knot.key_gen("rsa_no_zsk", algorithm="8", ksk="false", created=GEN, publish=PAST, ready=PAST, active=PAST, retire=INF, remove=INF, size="1024")
+knot.key_gen("rsa_no_zsk", algorithm="8", ksk="true", created=GEN, publish=FUTU, ready=FUTU, active=FUTU, retire=INF, remove=INF, size="1024")
t.start()