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
-
-
+
+