/* * Copyright (C) 2014 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.privacyca.v2.resource; import com.intel.mtwilson.jaxrs2.mediatype.CryptoMediaType; import com.intel.mtwilson.jaxrs2.mediatype.DataMediaType; import com.intel.mtwilson.launcher.ws.ext.V2; import com.intel.mtwilson.privacyca.v2.model.IdentityBlob; import com.intel.mtwilson.privacyca.v2.model.IdentityChallengeResponse; import com.intel.mtwilson.privacyca.v2.rpc.IdentityRequestSubmitResponse; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; /** * * @author jbuhacoff */ @V2 @Path("/privacyca/identity-challenge-response") public class IdentityRequestSubmitChallengeResponseResource { @POST @Consumes(MediaType.APPLICATION_OCTET_STREAM) @Produces(MediaType.APPLICATION_OCTET_STREAM) public byte[] identityChallengeResponse(byte[] challengeResponse) throws Exception { IdentityRequestSubmitResponse rpc = new IdentityRequestSubmitResponse(); rpc.setChallengeResponse(challengeResponse); return rpc.call(); } @POST @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, DataMediaType.APPLICATION_YAML, DataMediaType.TEXT_YAML}) @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, DataMediaType.APPLICATION_YAML, DataMediaType.TEXT_YAML}) public IdentityBlob identityChallengeResponse(IdentityChallengeResponse challengeResponse) throws Exception { IdentityRequestSubmitResponse rpc = new IdentityRequestSubmitResponse(); rpc.setChallengeResponse(challengeResponse.getChallengeResponse()); byte[] encryptedAik = rpc.call(); IdentityBlob identityBlob = new IdentityBlob(); identityBlob.setIdentityBlob(encryptedAik); return identityBlob; } }