Skip to content

Commit

Permalink
Logs ClientCertChallenge (#2411)
Browse files Browse the repository at this point in the history
  • Loading branch information
rpdome authored May 23, 2024
1 parent 08276c9 commit 8ba4851
Showing 1 changed file with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@
import com.microsoft.identity.common.java.opentelemetry.ICertBasedAuthTelemetryHelper;
import com.microsoft.identity.common.logging.Logger;

import java.security.Principal;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Arrays;

/**
* Handles a received ClientCertRequest by prompting the user to choose from certificates
Expand Down Expand Up @@ -72,6 +74,9 @@ public OnDeviceCertBasedAuthChallengeHandler(@NonNull final Activity activity,
@Override
public Void processChallenge(ClientCertRequest request) {
final String methodTag = TAG + ":processChallenge";

Logger.info(methodTag, printRequestDetails(request));

KeyChain.choosePrivateKeyAlias(mActivity, new KeyChainAliasCallback() {
@Override
public void alias(String alias) {
Expand Down Expand Up @@ -117,6 +122,31 @@ public void alias(String alias) {
return null;
}

@RequiresApi(api = Build.VERSION_CODES.M)
private String printRequestDetails(ClientCertRequest request) {

final StringBuilder logLine = new StringBuilder(256);
logLine.append("Processing CBA challenge. \nKey Type: ");

for (String k : request.getKeyTypes()){
logLine.append(k)
.append(", ");
}

logLine.append("\nPrincipals: ");
for (Principal p : request.getPrincipals()){
logLine.append(p.getName())
.append(", ");
}

logLine.append("\nHost: ")
.append(request.getHost())
.append("\nPort: ")
.append(request.getPort());

return logLine.toString();
}

/**
* Clean up logic to run when OnDeviceCertBasedAuthChallengeHandler is no longer going to be used.
*/
Expand Down

0 comments on commit 8ba4851

Please sign in to comment.