new ClientCredential(applicationCredentials.clientId(), applicationCredentials.clientSecret()), resource, null).get(); } else if (applicationCredentials.clientCertificate() != null && applicationCredentials.clientCertificatePassword() != null) { return context.acquireTokenByAuthorizationCode( authorizationCode, AsymmetricKeyCredential.create( applicationCredentials.clientId(), new ByteArrayInputStream(applicationCredentials.clientCertificate()), applicationCredentials.clientCertificatePassword()), resource, null).get(); } else if (applicationCredentials.clientCertificate() != null) { return context.acquireTokenByAuthorizationCode( authorizationCode, AsymmetricKeyCredential.create( clientId(), ApplicationTokenCredentials.privateKeyFromPem(new String(applicationCredentials.clientCertificate())), ApplicationTokenCredentials.publicKeyFromPem(new String(applicationCredentials.clientCertificate()))), resource, null).get();