É incomum carregar a chave privada como uma solicitação do cliente para um soquete SSL. Eu pessoalmente acho que você deveria estar carregando a chave pública. A chave privada é carregada pelo soquete SSL no lado do servidor. A única razão pela qual você precisaria da chave privada é para agir como um servidor e aceitar conexões do outro lado, mas você não parece estar fazendo isso.
Isso pode explicar a mensagem "cert in wrong format".
Em referência a:
private static String certificate = "D:/./trunk/Development/JavaPNS/src/com/applicationname/pns/privateKey.p12"