diff --git a/model/api/pom.xml b/model/api/pom.xml index ad17281e49..b35d43a01c 100644 --- a/model/api/pom.xml +++ b/model/api/pom.xml @@ -37,6 +37,18 @@ org.codehaus.jackson jackson-core-asl + + + org.jboss.aerogear + aerogear-crypto + + + + bouncycastle + bcprov-jdk16 + 140 + + diff --git a/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/iOSVariant.java b/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/iOSVariant.java index f61093d633..49fe6d67a4 100644 --- a/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/iOSVariant.java +++ b/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/iOSVariant.java @@ -21,11 +21,13 @@ import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonProperty; +import org.jboss.aerogear.crypto.encoders.Base64; /** * The iOS variant class encapsulates APNs specific behavior. */ public class iOSVariant extends Variant { + private static final Base64 encoder = new Base64(); private static final long serialVersionUID = -889367404039436329L; private boolean production; @@ -37,7 +39,7 @@ public class iOSVariant extends Variant { @NotNull(message = "Certificate must be provided") @JsonIgnore - private byte[] certificate; + private String certificateData; /** * If true a connection to Apple's Production APNs server @@ -75,12 +77,12 @@ public void setPassphrase(final String passphrase) { */ @JsonIgnore public byte[] getCertificate() { - return certificate; + return encoder.decode(certificateData); } @JsonProperty public void setCertificate(byte[] cert) { - this.certificate = cert; + this.certificateData = encoder.encode(cert); } @Override diff --git a/model/jpa/src/main/resources/META-INF/orm.xml b/model/jpa/src/main/resources/META-INF/orm.xml index 2308a8985d..fa75856f84 100644 --- a/model/jpa/src/main/resources/META-INF/orm.xml +++ b/model/jpa/src/main/resources/META-INF/orm.xml @@ -63,8 +63,8 @@ http://java.sun.com/xml/ns/persistence/orm_2_0.xsd" ios - - + +