Search in sources :

Example 1 with PrototypeKeyBindingType

use of org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType in project cxf by apache.

the class XKMSServiceTest method testRegisterWithoutKey.

@Test
public void testRegisterWithoutKey() throws URISyntaxException, Exception {
    RegisterRequestType request = new RegisterRequestType();
    setGenericRequestParams(request);
    PrototypeKeyBindingType binding = new PrototypeKeyBindingType();
    KeyInfoType keyInfo = new KeyInfoType();
    binding.setKeyInfo(keyInfo);
    request.setPrototypeKeyBinding(binding);
    RegisterResultType result = xkmsService.register(request);
    Assert.assertEquals(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER.value(), result.getResultMajor());
    Assert.assertEquals(ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE.value(), result.getResultMinor());
}
Also used : RegisterResultType(org.apache.cxf.xkms.model.xkms.RegisterResultType) PrototypeKeyBindingType(org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType) RegisterRequestType(org.apache.cxf.xkms.model.xkms.RegisterRequestType) KeyInfoType(org.apache.cxf.xkms.model.xmldsig.KeyInfoType) BasicIntegrationTest(org.apache.cxf.xkms.itests.BasicIntegrationTest) Test(org.junit.Test)

Example 2 with PrototypeKeyBindingType

use of org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType in project cxf by apache.

the class X509Register method prepareResponseBinding.

private KeyBindingType prepareResponseBinding(PrototypeKeyBindingType binding) {
    KeyBindingType responseBinding = new KeyBindingType();
    responseBinding.setKeyInfo(binding.getKeyInfo());
    StatusType status = new StatusType();
    status.setStatusValue(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALID);
    responseBinding.setStatus(status);
    return responseBinding;
}
Also used : StatusType(org.apache.cxf.xkms.model.xkms.StatusType) PrototypeKeyBindingType(org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType) KeyBindingType(org.apache.cxf.xkms.model.xkms.KeyBindingType)

Example 3 with PrototypeKeyBindingType

use of org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType in project cxf by apache.

the class X509Register method register.

@Override
public RegisterResultType register(RegisterRequestType request, RegisterResultType response) {
    try {
        PrototypeKeyBindingType binding = request.getPrototypeKeyBinding();
        X509Utils.assertElementNotNull(binding, PrototypeKeyBindingType.class);
        KeyInfoType keyInfo = binding.getKeyInfo();
        X509Utils.assertElementNotNull(binding, KeyInfoType.class);
        List<UseKeyWithType> useKeyWithList = binding.getUseKeyWith();
        if (useKeyWithList == null || useKeyWithList.size() != 1) {
            throw new IllegalArgumentException("Exactly one useKeyWith element is supported");
        // TODO standard requires support for multiple useKeyWith attributes
        }
        UseKeyWithType useKeyWith = useKeyWithList.get(0);
        List<X509Certificate> certList = getCertsFromKeyInfo(keyInfo);
        if (certList.size() != 1) {
            throw new IllegalArgumentException("Must provide one X509Certificate");
        }
        X509Certificate cert = certList.get(0);
        certRepo.saveCertificate(cert, useKeyWith);
        KeyBindingType responseBinding = prepareResponseBinding(binding);
        response.getKeyBinding().add(responseBinding);
        return response;
    } catch (CertificateException e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}
Also used : PrototypeKeyBindingType(org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType) UseKeyWithType(org.apache.cxf.xkms.model.xkms.UseKeyWithType) CertificateException(java.security.cert.CertificateException) PrototypeKeyBindingType(org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType) KeyBindingType(org.apache.cxf.xkms.model.xkms.KeyBindingType) X509Certificate(java.security.cert.X509Certificate) KeyInfoType(org.apache.cxf.xkms.model.xmldsig.KeyInfoType)

Aggregations

PrototypeKeyBindingType (org.apache.cxf.xkms.model.xkms.PrototypeKeyBindingType)3 KeyBindingType (org.apache.cxf.xkms.model.xkms.KeyBindingType)2 KeyInfoType (org.apache.cxf.xkms.model.xmldsig.KeyInfoType)2 CertificateException (java.security.cert.CertificateException)1 X509Certificate (java.security.cert.X509Certificate)1 BasicIntegrationTest (org.apache.cxf.xkms.itests.BasicIntegrationTest)1 RegisterRequestType (org.apache.cxf.xkms.model.xkms.RegisterRequestType)1 RegisterResultType (org.apache.cxf.xkms.model.xkms.RegisterResultType)1 StatusType (org.apache.cxf.xkms.model.xkms.StatusType)1 UseKeyWithType (org.apache.cxf.xkms.model.xkms.UseKeyWithType)1 Test (org.junit.Test)1