feat: add code sign

This commit is contained in:
2023-10-29 23:09:55 +08:00
parent d2257e4640
commit a52596d5ba
3 changed files with 16 additions and 1 deletions

View File

@@ -48,3 +48,13 @@ $ java -jar yubikey-ca-java.jar --issue-client-ca \
--pin ****** \ --pin ****** \
[--add-to-remote] [--add-to-remote]
``` ```
# Issue Client Code CA
```shell
$ java -jar yubikey-ca-java.jar --issue-client-code-ca \
--sign-slot 89 --subject 'CN=hatter-test-code' \
--intermediate-ca-id 44 --keypair-type secp256r1 \
--pin ****** \
[--add-to-remote]
```

View File

@@ -26,6 +26,9 @@ public class YubikeyCaArgs {
@Option(names = {"--issue-client-ca"}, description = "Issue client CA") @Option(names = {"--issue-client-ca"}, description = "Issue client CA")
boolean issueClientCa = false; boolean issueClientCa = false;
@Option(names = {"--issue-client-code-ca"}, description = "Issue client code CA")
boolean issueClientCodeCa = false;
@Option(names = {"--subject"}, description = "Certificate subject") @Option(names = {"--subject"}, description = "Certificate subject")
String subject; String subject;

View File

@@ -36,7 +36,7 @@ public class YubikeyCaMain {
issueRootCa(args); issueRootCa(args);
} else if (args.issueIntermediateCa) { } else if (args.issueIntermediateCa) {
issueIntermediateCa(args); issueIntermediateCa(args);
} else if (args.issueServerCa || args.issueClientCa) { } else if (args.issueServerCa || args.issueClientCa || args.issueClientCodeCa) {
issueServerClientCa(args); issueServerClientCa(args);
} else { } else {
log.error("Unknown command, use --help for help"); log.error("Unknown command, use --help for help");
@@ -79,6 +79,8 @@ public class YubikeyCaMain {
final X509Certificate cert; final X509Certificate cert;
if (args.issueServerCa) { if (args.issueServerCa) {
cert = ca.createServerCert(Arrays.asList(args.dnsNames)); cert = ca.createServerCert(Arrays.asList(args.dnsNames));
} else if (args.issueClientCodeCa) {
cert = ca.createCodeSigningCert();
} else { } else {
cert = ca.createClientCert(); cert = ca.createClientCert();
} }