Skip to content

Commit c1e3d21

Browse files
committed
disable and force delete CA
1 parent 4939d6b commit c1e3d21

File tree

1 file changed

+28
-1
lines changed
  • privateca/snippets/src/test/java/privateca

1 file changed

+28
-1
lines changed

privateca/snippets/src/test/java/privateca/Util.java

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818

1919
import com.google.cloud.security.privateca.v1.CaPool;
2020
import com.google.cloud.security.privateca.v1.CertificateAuthority;
21+
import com.google.cloud.security.privateca.v1.CertificateAuthority.State;
2122
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient;
2223
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient.ListCaPoolsPagedResponse;
2324
import com.google.cloud.security.privateca.v1.DeleteCaPoolRequest;
2425
import com.google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest;
26+
import com.google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest;
2527
import com.google.cloud.security.privateca.v1.ListCaPoolsRequest;
2628
import com.google.cloud.security.privateca.v1.LocationName;
2729
import java.io.IOException;
@@ -72,11 +74,20 @@ public static void deleteCertificateAuthority(String caPoolName)
7274
CertificateAuthorityServiceClient.create()) {
7375
for (CertificateAuthority certificateAuthority :
7476
certificateAuthorityServiceClient.listCertificateAuthorities(caPoolName).iterateAll()) {
77+
// Check if the CA is enabled.
78+
State caState =
79+
certificateAuthorityServiceClient
80+
.getCertificateAuthority(certificateAuthority.getName())
81+
.getState();
82+
if (caState == State.ENABLED) {
83+
disableCertificateAuthority(certificateAuthority.getName());
84+
}
7585

7686
DeleteCertificateAuthorityRequest deleteCertificateAuthorityRequest =
7787
DeleteCertificateAuthorityRequest.newBuilder()
7888
.setName(certificateAuthority.getName())
79-
.setIgnoreActiveCertificates(false)
89+
.setIgnoreActiveCertificates(true)
90+
.setSkipGracePeriod(true)
8091
.build();
8192

8293
certificateAuthorityServiceClient
@@ -85,4 +96,20 @@ public static void deleteCertificateAuthority(String caPoolName)
8596
}
8697
}
8798
}
99+
100+
public static void disableCertificateAuthority(String caName)
101+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
102+
try (CertificateAuthorityServiceClient client = CertificateAuthorityServiceClient.create()) {
103+
DisableCertificateAuthorityRequest disableCertificateAuthorityRequest =
104+
DisableCertificateAuthorityRequest.newBuilder()
105+
.setName(caName)
106+
.build();
107+
108+
// Disable the Certificate Authority.
109+
client
110+
.disableCertificateAuthorityCallable()
111+
.futureCall(disableCertificateAuthorityRequest)
112+
.get(5, TimeUnit.MINUTES);
113+
}
114+
}
88115
}

0 commit comments

Comments
 (0)