<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/java-apns/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 19 Sep 2022 16:33:57 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/java-apns/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -34,10 +34,11 @@

 The file is generated using [Sun’s Andreas Sterbenz’ blog
 instruction](http://blogs.sun.com/andreas/entry/no_more_unable_to_find) using
-using his
-[@InstallCert.java@](http://blogs.sun.com/andreas/resource/InstallCert.java) :
+using his [@InstallCert.java@](http://code.google.com/p/java-use-
+examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java) :

-&lt;pre&gt;&lt;code&gt;% wget http://blogs.sun.com/andreas/resource/InstallCert.java  
+&lt;pre&gt;&lt;code&gt;% wget http://code.google.com/p/java-use-
+examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java  
 % javac InstallCert.java  
 % java InstallCert feedback.sandbox.push.apple.com:2196

&lt;/code&gt;&lt;/pre&gt;&lt;code&gt;

&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:57 -0000</pubDate><guid>https://sourceforge.net98cdf2b0b378450e1f77a346d13e5dd100ba65de</guid></item><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -8,24 +8,43 @@

 ## Features:

-* Easy to use, high performance APNS Service API * Easy to use with Apple’s certificates * Easy to extend and reuse * Easy to integrate with dependency injection frameworks 
+* Easy to use, high performance APNS Service API * Supports Apple Feedback service * Easy to use with Apple’s certificates * Easy to extend and reuse * Easy to integrate with dependency injection frameworks * Easy to setup custom notification payloads 

-## Sample Code
+## Known Issues

-To send a notification, you can do it in two steps:
+* The library does not verify the correctness of deviceToken or the length of the sent notification message (needs to be less 255 in total) * The Feedback servers use public certificates that are not verified by major SSL companies. Connecting to the Feedback servers would cause an Exception similar to the following: 

-  * Setup the connection
+&lt;pre&gt;  
+Caused by: javax.net.ssl.SSLHandshakeException:
+sun.security.validator.ValidatorException: PKIX path building failed:
+sun.security.provider.certpath.SunCertPathBuilderException: unable to find
+valid certification path to requested target at
+com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) at
+com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611)  
+&lt;/pre&gt;

-&lt;pre&gt;&lt;code&gt; ApnsService service = APNS.newService()
-.withCert(“/path/to/certificate.p12”, “MyCertPassword”)
-.withSandboxDestination() .build();  
+This is a known issue. The work around is to mark the public certificates as
+trusted by Java. The Downloads page contains
+[@jssecacerts@](http://cloud.github.com/downloads/notnoop/java-
+apns/jssecacerts) file, that can be placed in
+`$JAVA_HOME/lib/security/jssecacerts`.
+[@jssecacerts@](http://cloud.github.com/downloads/notnoop/java-
+apns/jssecacerts) is a keystore that contains the public certificate of Apple
+Feedback sandbox and production servers.
+
+The file is generated using [Sun’s Andreas Sterbenz’ blog
+instruction](http://blogs.sun.com/andreas/entry/no_more_unable_to_find) using
+using his
+[@InstallCert.java@](http://blogs.sun.com/andreas/resource/InstallCert.java) :
+
+&lt;pre&gt;&lt;code&gt;% wget http://blogs.sun.com/andreas/resource/InstallCert.java  
+% javac InstallCert.java  
+% java InstallCert feedback.sandbox.push.apple.com:2196
+
+  1. [ … press 1 when asked to …]  
+% java InstallCert feedback.push.apple.com:2196
+
+  2. [ … press 1 when asked to …]  
+% cp jssecacerts $JAVA_HOME/lib/security  
 &lt;/code&gt;&lt;/pre&gt;

-  * Create and send the message
-
-&lt;pre&gt;&lt;code&gt; String payload = APNS.alert(“Can’t be simpler that
-this!”).build(); String token = “fedfbcfb….”; service.push(token, payload);  
-&lt;/code&gt;&lt;/pre&gt;
-
-That’s it!
-
&lt;/code&gt;&lt;/pre&gt;&lt;code&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:55 -0000</pubDate><guid>https://sourceforge.netf0471d570d9df68e672f5924c6b41024044c8b34</guid></item><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:55 -0000</pubDate><guid>https://sourceforge.net80fd169a32fcf84a2035c23b3292edf87c49bfc1</guid></item><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -1,2 +1,31 @@
-Welcome to the java-apns wiki!
+java-apns is a Java client for Apple’s Push Notification Service (APNS). The
+library aims to provide a highly scalable interface to the Apple server, while
+still being simple and modular.

+The interface aims to require very minimal code to achieve the most common
+cases, but have it be reconfigurable so you can even use your own networking
+connections or JSON library if necessary.
+
+## Features:
+
+* Easy to use, high performance APNS Service API * Easy to use with Apple’s certificates * Easy to extend and reuse * Easy to integrate with dependency injection frameworks 
+
+## Sample Code
+
+To send a notification, you can do it in two steps:
+
+  * Setup the connection
+
+&lt;pre&gt;&lt;code&gt; ApnsService service = APNS.newService()
+.withCert(“/path/to/certificate.p12”, “MyCertPassword”)
+.withSandboxDestination() .build();  
+&lt;/code&gt;&lt;/pre&gt;
+
+  * Create and send the message
+
+&lt;pre&gt;&lt;code&gt; String payload = APNS.alert(“Can’t be simpler that
+this!”).build(); String token = “fedfbcfb….”; service.push(token, payload);  
+&lt;/code&gt;&lt;/pre&gt;
+
+That’s it!
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:55 -0000</pubDate><guid>https://sourceforge.net7023c45e66db804a950d45f953d2c27145c7d45d</guid></item><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1 +1,2 @@
 Welcome to the java-apns wiki!
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:55 -0000</pubDate><guid>https://sourceforge.net8b65921bdc262fa4c376e51d1558240b7ad23cb9</guid></item><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1 @@
-Welcome to your wiki!
-
-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
-
-The wiki uses [Markdown](/p/java-apns/wiki/markdown_syntax/) syntax.
-
-[[members limit=20]]
-[[download_button]]
+Welcome to the java-apns wiki!
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:54 -0000</pubDate><guid>https://sourceforge.netbd65cdec6a408215e7e5b234d0bbb4cbc8e83ac9</guid></item><item><title>Home modified by Mansi Agnihotri</title><link>https://sourceforge.net/p/java-apns/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/java-apns/wiki/markdown_syntax/" rel="nofollow"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
	&lt;ul class="md-users-list"&gt;
		&lt;li&gt;&lt;a href="/u/magnihotri93/"&gt;Mansi Agnihotri&lt;/a&gt; (admin)&lt;/li&gt;
		
	&lt;/ul&gt;&lt;br/&gt;
&lt;p&gt;&lt;span class="download-button-632899ef6c28e28b663ac80d" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mansi Agnihotri</dc:creator><pubDate>Mon, 19 Sep 2022 16:33:53 -0000</pubDate><guid>https://sourceforge.net39291f17b328abd62fc258550ea9d114290e28c6</guid></item></channel></rss>