Search in sources :

Example 1 with Certificate

use of com.arm.mbed.cloud.sdk.certificates.model.Certificate in project mbed-cloud-sdk-java by ARMmbed.

the class Certificates method addDeveloperCertificate.

/**
 * Adds a new developer certificate.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     final Certificate certificate = new Certificate();
 *     certificate.setName("Test Cert");
 *     certificate.setType(CertificateType.DEVELOPER);
 *     certificate.setSignature("wqEhG6BzgHWAyFXXXX....XXX");
 *     certificate.setCertificateData("rFEr1cRvLS1MmA....XXX");
 *
 *     Certificate newCertificate = certificateApi.addDeveloperCertificate(certificate);
 *     System.out.println("Certificate ID: " + certificates.getId());
 *     assert newCertificate == certificate;
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param certificate
 *            certificate Certificate request.
 * @return added certificate.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
@Nullable
public Certificate addDeveloperCertificate(@NonNull Certificate certificate) throws MbedCloudException {
    checkNotNull(certificate, TAG_CERTIFICATE);
    // To run this method, the certificate must be a developer certificate.
    certificate.setType(CertificateType.DEVELOPER);
    checkModelValidity(certificate, TAG_CERTIFICATE);
    final Certificate finalCertificate = certificate;
    final Certificate addedPartialCertificate1 = CloudCaller.call(this, "addDeveloperCertificate()", CertificateAdapter.getDeveloperMapper(), new CloudCall<DeveloperCertificateResponseData>() {

        @Override
        public Call<DeveloperCertificateResponseData> call() {
            return endpoint.getCertDeveloper().createDeveloperCertificate(null, CertificateAdapter.reverseDeveloperMap(finalCertificate));
        }
    });
    if (addedPartialCertificate1 == null) {
        return null;
    }
    final Certificate addedPartialCertificate2 = performCertificateAction("addDeveloperCertificate()", new CloudCall<TrustedCertificateResp>() {

        @Override
        public Call<TrustedCertificateResp> call() {
            return endpoint.getAccountDeveloper().getCertificate(addedPartialCertificate1.getId());
        }
    });
    return Certificate.merge(addedPartialCertificate1, addedPartialCertificate2);
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) TrustedCertificateResp(com.arm.mbed.cloud.sdk.internal.iam.model.TrustedCertificateResp) DeveloperCertificateResponseData(com.arm.mbed.cloud.sdk.internal.connectorca.model.DeveloperCertificateResponseData) Certificate(com.arm.mbed.cloud.sdk.certificates.model.Certificate) API(com.arm.mbed.cloud.sdk.annotations.API) Nullable(com.arm.mbed.cloud.sdk.annotations.Nullable)

Example 2 with Certificate

use of com.arm.mbed.cloud.sdk.certificates.model.Certificate in project mbed-cloud-sdk-java by ARMmbed.

the class Certificates method addCertificate.

/**
 * Adds a new certificate.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     Certificate certificate = new Certificate();
 *     certificate.setName("Test Cert");
 *     certificate.setType(CertificateType.BOOTSTRAP);
 *     certificate.setSignature("wqEhG6BzgHWAyFXXXX....XXX");
 *     certificate.setCertificateData("rFEr1cRvLS1MmA....XXX");
 *
 *     Certificate newCertificate = certificateApi.addCertificate(certificate);
 *     System.out.println("Certificate ID: " + certificates.getId());
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param certificate
 *            Certificate request.
 * @return added certificate.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
@Nullable
public Certificate addCertificate(@NonNull Certificate certificate) throws MbedCloudException {
    checkNotNull(certificate, TAG_CERTIFICATE);
    checkModelValidity(certificate, TAG_CERTIFICATE);
    final Certificate finalCertificate = certificate;
    return performCertificateAction("addCertificate()", new CloudCall<TrustedCertificateResp>() {

        @Override
        public Call<TrustedCertificateResp> call() {
            return endpoint.getAdmin().addCertificate(CertificateAdapter.reverseMapAdd(finalCertificate));
        }
    });
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) TrustedCertificateResp(com.arm.mbed.cloud.sdk.internal.iam.model.TrustedCertificateResp) Certificate(com.arm.mbed.cloud.sdk.certificates.model.Certificate) API(com.arm.mbed.cloud.sdk.annotations.API) Nullable(com.arm.mbed.cloud.sdk.annotations.Nullable)

Example 3 with Certificate

use of com.arm.mbed.cloud.sdk.certificates.model.Certificate in project mbed-cloud-sdk-java by ARMmbed.

the class Certificates method updateCertificate.

/**
 * Updates a certificate.
 * <p>
 * Example:
 *
 * <pre>
 * {@code
 * try {
 *     Certificate certificate = new Certificate();
 *     String certificateId = "015f4ac587f500000000000100100249";
 *     certificate.setId(certificateId);
 *     certificate.setName("Changed Cert name");
 *     certificate.setType(CertificateType.DEVELOPER);
 *
 *     Certificate newCertificate = certificateApi.updateCertificate(certificate);
 *     System.out.println("New cert name: " + newCertificate.getName());
 *     assert certificateId == newCertificate.getId();
 *
 * } catch (MbedCloudException e) {
 *     e.printStackTrace();
 * }
 * }
 * </pre>
 *
 * @param certificate
 *            certificate to update.
 * @return updated certificate.
 * @throws MbedCloudException
 *             if a problem occurred during request processing.
 */
@API
@Nullable
public Certificate updateCertificate(@NonNull Certificate certificate) throws MbedCloudException {
    checkNotNull(certificate, TAG_CERTIFICATE);
    checkNotNull(certificate.getId(), TAG_CERTIFICATE_ID);
    checkModelValidity(certificate, TAG_CERTIFICATE);
    final Certificate finalCertificate = certificate;
    return performCertificateAction("updateCertificate()", new CloudCall<TrustedCertificateResp>() {

        @Override
        public Call<TrustedCertificateResp> call() {
            return endpoint.getAccountDeveloper().updateCertificate(finalCertificate.getId(), CertificateAdapter.reverseMapUpdate(finalCertificate));
        }
    });
}
Also used : CloudCall(com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall) Call(retrofit2.Call) TrustedCertificateResp(com.arm.mbed.cloud.sdk.internal.iam.model.TrustedCertificateResp) Certificate(com.arm.mbed.cloud.sdk.certificates.model.Certificate) API(com.arm.mbed.cloud.sdk.annotations.API) Nullable(com.arm.mbed.cloud.sdk.annotations.Nullable)

Example 4 with Certificate

use of com.arm.mbed.cloud.sdk.certificates.model.Certificate in project mbed-cloud-sdk-java by ARMmbed.

the class CertificateAdapter method map.

/**
 * Maps certificate.
 *
 * @param iamCertificate
 *            response from Mbed Cloud.
 * @return a partial certificate.
 */
public static Certificate map(TrustedCertificateResp iamCertificate) {
    if (iamCertificate == null) {
        return null;
    }
    final Certificate certificate = new Certificate(iamCertificate.getId(), iamCertificate.getAccountId(), iamCertificate.getSubject(), TranslationUtils.toDate(iamCertificate.getValidity()), iamCertificate.getIssuer(), TranslationUtils.toDate(iamCertificate.getCreatedAt()), null, null, null, null, null, iamCertificate.getOwnerId());
    certificate.setCertificateData(iamCertificate.getCertificate());
    certificate.setDescription(iamCertificate.getDescription());
    certificate.setName(iamCertificate.getName());
    certificate.setStatus(toStatus(iamCertificate.getStatus()));
    certificate.setType(toType(iamCertificate.getDeviceExecutionMode(), iamCertificate.getService()));
    certificate.setEnrollmentMode(TranslationUtils.toBool(iamCertificate.isEnrollmentMode(), Certificate.DEFAULT_ENROLMENT_MODE));
    return certificate;
}
Also used : Certificate(com.arm.mbed.cloud.sdk.certificates.model.Certificate)

Example 5 with Certificate

use of com.arm.mbed.cloud.sdk.certificates.model.Certificate in project mbed-cloud-sdk-java by ARMmbed.

the class CertificatesExamples method listCertificates.

/**
 * Lists the first 5 certificates.
 */
@SuppressWarnings("boxing")
@Example
public void listCertificates() {
    ConnectionOptions config = Configuration.get();
    Certificates api = new Certificates(config);
    try {
        // Defining query options.
        CertificateListOptions options = new CertificateListOptions();
        options.setLimit(5);
        // Listing certificates.
        Paginator<Certificate> certificates = api.listAllCertificates(options);
        for (Certificate certificate : certificates) {
            log("Certificate", certificate);
        }
    } catch (Exception e) {
        logError("last API Metadata", api.getLastApiMetadata());
        fail(e.getMessage());
    }
}
Also used : CertificateListOptions(com.arm.mbed.cloud.sdk.certificates.model.CertificateListOptions) Certificates(com.arm.mbed.cloud.sdk.Certificates) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) Certificate(com.arm.mbed.cloud.sdk.certificates.model.Certificate) AbstractExample(utils.AbstractExample) Example(utils.Example)

Aggregations

Certificate (com.arm.mbed.cloud.sdk.certificates.model.Certificate)6 API (com.arm.mbed.cloud.sdk.annotations.API)3 Nullable (com.arm.mbed.cloud.sdk.annotations.Nullable)3 CloudCall (com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall)3 TrustedCertificateResp (com.arm.mbed.cloud.sdk.internal.iam.model.TrustedCertificateResp)3 Call (retrofit2.Call)3 Certificates (com.arm.mbed.cloud.sdk.Certificates)2 ConnectionOptions (com.arm.mbed.cloud.sdk.common.ConnectionOptions)2 MbedCloudException (com.arm.mbed.cloud.sdk.common.MbedCloudException)2 AbstractExample (utils.AbstractExample)2 Example (utils.Example)2 CertificateListOptions (com.arm.mbed.cloud.sdk.certificates.model.CertificateListOptions)1 DeveloperCertificateResponseData (com.arm.mbed.cloud.sdk.internal.connectorca.model.DeveloperCertificateResponseData)1