Skip to content

Commit

Permalink
disable and force delete CA
Browse files Browse the repository at this point in the history
  • Loading branch information
Sita04 committed Feb 16, 2023
1 parent 4939d6b commit c1e3d21
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion privateca/snippets/src/test/java/privateca/Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@

import com.google.cloud.security.privateca.v1.CaPool;
import com.google.cloud.security.privateca.v1.CertificateAuthority;
import com.google.cloud.security.privateca.v1.CertificateAuthority.State;
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient;
import com.google.cloud.security.privateca.v1.CertificateAuthorityServiceClient.ListCaPoolsPagedResponse;
import com.google.cloud.security.privateca.v1.DeleteCaPoolRequest;
import com.google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest;
import com.google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest;
import com.google.cloud.security.privateca.v1.ListCaPoolsRequest;
import com.google.cloud.security.privateca.v1.LocationName;
import java.io.IOException;
Expand Down Expand Up @@ -72,11 +74,20 @@ public static void deleteCertificateAuthority(String caPoolName)
CertificateAuthorityServiceClient.create()) {
for (CertificateAuthority certificateAuthority :
certificateAuthorityServiceClient.listCertificateAuthorities(caPoolName).iterateAll()) {
// Check if the CA is enabled.
State caState =
certificateAuthorityServiceClient
.getCertificateAuthority(certificateAuthority.getName())
.getState();
if (caState == State.ENABLED) {
disableCertificateAuthority(certificateAuthority.getName());
}

DeleteCertificateAuthorityRequest deleteCertificateAuthorityRequest =
DeleteCertificateAuthorityRequest.newBuilder()
.setName(certificateAuthority.getName())
.setIgnoreActiveCertificates(false)
.setIgnoreActiveCertificates(true)
.setSkipGracePeriod(true)
.build();

certificateAuthorityServiceClient
Expand All @@ -85,4 +96,20 @@ public static void deleteCertificateAuthority(String caPoolName)
}
}
}

public static void disableCertificateAuthority(String caName)
throws IOException, ExecutionException, InterruptedException, TimeoutException {
try (CertificateAuthorityServiceClient client = CertificateAuthorityServiceClient.create()) {
DisableCertificateAuthorityRequest disableCertificateAuthorityRequest =
DisableCertificateAuthorityRequest.newBuilder()
.setName(caName)
.build();

// Disable the Certificate Authority.
client
.disableCertificateAuthorityCallable()
.futureCall(disableCertificateAuthorityRequest)
.get(5, TimeUnit.MINUTES);
}
}
}

0 comments on commit c1e3d21

Please sign in to comment.