pengzhibo168 5 lat temu
rodzic
commit
177b3420d1

+ 3 - 0
AnsjerPush/file/alipay/alipay_private_2048.pem

@@ -0,0 +1,3 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCkSf9JD/HprSulQiE6zHkcYX1f5nnDfaM5SCB8iVz/C7ClX+o4fj446kkq74BkB3k40S6RhttQRiRIkRinsR4/ZxgtwWOaUFCPrZebIqm5CBKp6UHCq8aiYFzBomrUWLLvtqfuwMiUh6J+0LLr1lVocQqu2aCCt/D62ac21bAD1WkDQzcDNVoeRAvsnvkyQj2ftN+BdR423/jzWabmNGATBvjk+dzuGMMl8jYDQcJ0nhpOXy3R0ytWMny1OT94VxVX7CwAJt0nzA9aw/f11wfYNqBt33/PuchzHb/Nond/OjIQ2Hg+vVeXnTjoK/FN4Qw5cM0apiHJU2ea7QxhzTZ7AgMBAAECggEBAKPrBOB0HU2mr46Crb8J9qjfiIVf4wuvVmU31toLABOlKUnHql1VcGW/NOO29SZY4pVS+SDQKhAs+9S/mJbwPJrMFS7J7sQv8EF61XI/IpJwQJbxGeDPHTAz7zhwAiD+owJT/7hS945iyjm3p11xi+PaLeuJTgI+3xyaf6FRkf4vnSf1oAicP1Ufg/eHr1BKPpL5BdtSVxtTKwOZpl4IkvvjBTvTVqzl/nHqOJXEew/H2EL48KDMhrZ9IfFCCUgMtowoIys/xcGmcuFbwo1+YIETDCEat4XnGBW/q81C/+l/KtP9scbT17AMBaH0dxLcJHPR1IVn8cVTw+1uctbRRUkCgYEA2wX2cpqGWnfTwb5gPchRr4hTzZx/EpDmNkOiGe1mgwoEH09ucRCAU54IOIWJnlUGO4rs4wwreIA/kO0DQkjM8Q5Xho/Wob/vjLemvgAx1ZaxspIp2fKDd/+Mk1ksXuK9RTASI46uAfQVx4S6vQGAOVnCQd3yHgyeplE9m21X+l0CgYEAwAZ1PqilcjjbhKnIBGbgPNuEGS3MrHanUAEYnb3AAxBjFLioAsgEYCsvE6l2MWz4ZSXLkG7qvNGqndUPY3sxltd9csrYRoTR7wiM1SJ/BVZGS7Bv9DeVlyxVg6WYgjKfDia4+UAIYyJjlB1n4+vmNScnTTzdpHa6CRC0WIAmVrcCgYBkJ+Df3VvM6PjTowv9lKoN++heoM7XHZ24eMsa0h3LlHv4GWmmmGYmVqDpv98DoVvdRJU46mrCitsGmeuglwvou6c4qHP8uXmAvsaoIgyn4GZYA1DSEn0eFaUiCGgq58KnbekNi4R07jo7Z63BGnuZPjt/xU+fgCPYaFQkzCasHQKBgQCoSsCkqq9dXOFe8mG/Id5y17x9SLtxhwf5wQwu6ycGSG1dsrxku6HCGvbGV6WjiaplE2vF6L/HvkW20A0NleGPHsruOUK1AyDuSmMLRJFoPwWavkZQFgr/k7Zai14O9YiaoWtJ30m6gGAfZmovwgZfHTJ/qdFimz9ORJqaWa3AHwKBgH2kjJx5D8c/IuNMQ3yErKj8a41u7852d04W65ZxlhaX3cFGpJVR4REA548U8K9Fy89Z7Xzf6ByI80e9clmy/I71vQfPEpxOGkI/1JnUjHdBDyk6Owqg4zOTUPlF2nUeJfi78G53W/gbqb6kKB2v0cxfk0QElvAPBZGsT9ptZbti
+-----END RSA PRIVATE KEY-----

+ 3 - 0
AnsjerPush/file/alipay/alipay_public_2048.pem

@@ -0,0 +1,3 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6WSh//F8thrOf8Zm5CwIr9+HYy3+K4uRQtZoOolCRkbO47k++4da5/uBJz/vEoyX2/YwyqbdzIRbpwZlSyTKrRJpf5JwUE26dSVIjZ+2FOOUoRqf9MTDHhMEtvRvW2nSD3u4gDSz2vTuQPdiFzpJamuszR9ONdeIIYttoC//BR5TO3aDPHD1Q0D1WVnaBvWWnFUNaaW0BLjqLa3gtxWeUgMSePjusG28EX+aMomqSMReMRC87Hoan0TeQYU35Mgq6ZHGQ8RFBGAPfueHcvvtBLmiuL+UmJS5FyAq6QLCMSd74NnUAJwdQOi4e5vXeQX772DEyA/19RBXA4PESwJ0lwIDAQAB
+-----END PUBLIC KEY-----

+ 3 - 0
AnsjerPush/file/alipay/zosi_alipay_private_2048.pem

@@ -0,0 +1,3 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCAtJ/+dopwzLOA6yq4yDiOIWRs1z1vJicOZF/O1xZOs+UN+B5yJvCsyyInEY9kWFRPoZoYjuZ5x8of23zELozZuebt1cbJOikRhMYQ8HiIZfPX+v9Uqve+j7qDcOAzJJwRz26eak8WA6+au6BVTyOKQa35oY3tbOQWN+Nu7zxqMjxrLmy/+af6WuQhhOY+EYjEMqMpc5iDRJzkSjPuWWzvD9PE5/AJiYsUs0lb9z1s2+O15eKp1nwEOJp3rOwfowin8MjR2BbGZ8SuugK3cU49X84sAsNXo0Anv/htV9Pp6QgAPs0b1E3F3NrHJifl/GAd/hpLby0tsoHKY8d7He+3AgMBAAECggEAEPe/IA0As15JS/W07Cd5TUOZub+mmcCt5XfWKa6xgi61Q+IyIVqA4Ebneb8W6GO8ucLUTeiI+gUc4JZPHI4Gg62+hBxq2JySTXzzn8gUG+dU/mRYxRDFGJpaPHnlFNj+ulpeewQI6R4TSJLz0EtepBuElCR4UZTJfSRhF37yuA03aqp2WVTDmvdLxY8ZIZcbovPA34VIs91Bs+s7UmgQKIT5YkMRUG7En5dgGB0Uce0JeoN35P9U+DrplX0YP51qwf7APQxEeKY/ifaDdGf69tm86wz188/HWOVUeBXKNbcPN/CtreLgb0zR8OLji/FKMIIW3JMrAlQEu3H6t3HIAQKBgQDDufBDF2fn+DmpyggNsKbS/L8M4n9Ak7W/5r3L9vh0RQ+fbqGMazURoqQOt6e+rjnPuoTB42Yk9XEUzZcXF65klq+kY+PVNKOuvVXMJpO+kb71aP6heJ5CQ0KHUsQ2zMxrxl0xdcj8WkBP5mLyz6gdNX8Ypfgq7Rn9YVddYtpPUQKBgQCoVxzyjbEhM5WmhhlUQ+2i/fz0hVmNPC52FN5xhI11VAqT4rS+EBr2LPaWJz0bsVCsaPshePNc/yNwUbWpg4VmdIc9NLHXOyq3mI9uLt4Nzwtm15UrVGuJA2c9CEIBRsrsX89tO1xvOPeHJ0GnX6rV0WByg/uGWyw4Ga3kIG1chwKBgC3t7S6hSHXL7yQjz73+rTcnrmGEqR3rS6QrrnA1lVobdq4QFQLRiZOI2fzGJiv90H0ppMum5CpaGl4qXIFDwl3CapcmBanbf2ma7o5IozT+GJSYPeCAYIrmI6+DwZ2mc3X7B5V6sV5eg2b8hk26YxXvntKW5+SS3R1zgT/d2aLxAoGAMq3XJyaFFuvCt9lTMs0oc5NnXe3vYdemXSI3PZGcTKA6dv8fTsDmfQpYSigR+45MLTuFrzQMgAjHkH7o49mWhZu7Qy/kAlnrqE4jkBZH/3w/gHySifLmVN9Ta0pbJKs9WCAYAFiIoWtTCbtFxq/EbI6WLKOTS4WTMGh6s10Xz20CgYEAmLF68mrO7Noq6w5jy7P2Gb6SvmriUW1jSwcpgq/jC/u83iMg2+++TYmGp01CCxZVPQ+pU8VOuMLoKlm4mn0Im4gxXU6GeGerVb/LO2WkYn7aFMNRV05bgg7nCM5Df1vV6UzYsU4uzM/VC8FFm7/bRTqKv0u3pv+sYGB0YrlZaHs=
+-----END RSA PRIVATE KEY-----

+ 3 - 0
AnsjerPush/file/alipay/zosi_alipay_public_2048.pem

@@ -0,0 +1,3 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1usde7ybZRkDB0cx2a1QAgoVqwV+3HLOmB/f2lmqvWGhT9Kv2T09yu5+HuckQIr7EXIsyd+8gxv483xXkSdzVgm4UKD5QrVSaSs0s0iKOUAc2QOWF/rmzZ8/hDLHteNcYzyOYkr7ws7woCw0aN76oABzpBuch070mvTS7XNvV64YHtBeDo0iAGRaLu7OuHOOUJwQqFGzgaTtZz+TGXNk6ZonfYTcWbTw5Pc4kG9PjweBPpcsJXoCB0Ul9t/V66grhjnJ1TcYqzO0wY1Lr6J3p/0PtKVaG4Ijf6iGfmkOPBMy3lV9NPf/t20nuGLeBPkMMlGTytXVH5DkSB/6INytcQIDAQAB
+-----END PUBLIC KEY-----

+ 64 - 0
AnsjerPush/file/apns_pem/accloud-dev.pem

@@ -0,0 +1,64 @@
+Bag Attributes
+    friendlyName: Apple Development IOS Push Services: com.ansjer.accloud
+    localKeyID: 13 E2 BD 73 EC 35 F0 DC B9 1C E2 BF C1 CD 1A 06 F5 06 4D 40 
+subject=/UID=com.ansjer.accloud/CN=Apple Development IOS Push Services: com.ansjer.accloud/OU=66PK439G56/C=US
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIFiTCCBHGgAwIBAgIILLgio5pU4uMwDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMjE0MDYyNjA0WhcNMjAxMjEzMDYyNjA0WjCBiDEiMCAGCgmSJomT8ixk
+AQEMEmNvbS5hbnNqZXIuYWNjbG91ZDFAMD4GA1UEAww3QXBwbGUgRGV2ZWxvcG1l
+bnQgSU9TIFB1c2ggU2VydmljZXM6IGNvbS5hbnNqZXIuYWNjbG91ZDETMBEGA1UE
+CwwKNjZQSzQzOUc1NjELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDWOX0yrC18C4tnoClljc2XVXRAOus8+9rjnIwMcg1U5K+vv65f
+1jEaPFlCUuq0tc5t3m81u0UD5HD7wVetZWZoLFht016SnXpgVVtWIbcxZClNuc/8
+YixTomFFZZnHv7oJu9rNqH8oabIssj4fORkVYwav3eaOBlPVtl1NWd9BjfsNiEEH
+uKimQDAKC5nyi/MzXfNEwXHKO4/gZMf+4CUOeJf2pfXsUogIi4qyzeVL6LS9w7GM
+KFbTCNpMLVWSwNvIgkXtptwdwDplGFbL7BaY19evpIuslcmjThcoHWxKRTpAZrq8
+uvrVHEE2GYREzunZsNTmpLi8FaoYopazUJMbAgMBAAGjggHlMIIB4TAJBgNVHRME
+AjAAMB8GA1UdIwQYMBaAFIgnFwmpthhgi+zruvZHWcVSVKO3MIIBDwYDVR0gBIIB
+BjCCAQIwgf8GCSqGSIb3Y2QFATCB8TCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5j
+ZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2Vw
+dGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQg
+Y29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlm
+aWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjApBggrBgEFBQcCARYdaHR0cDov
+L3d3dy5hcHBsZS5jb20vYXBwbGVjYS8wEwYDVR0lBAwwCgYIKwYBBQUHAwIwTQYD
+VR0fBEYwRDBCoECgPoY8aHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vY2VydGlm
+aWNhdGlvbmF1dGhvcml0eS93d2RyY2EuY3JsMB0GA1UdDgQWBBQT4r1z7DXw3Lkc
+4r/BzRoG9QZNQDALBgNVHQ8EBAMCB4AwEAYKKoZIhvdjZAYDAQQCBQAwDQYJKoZI
+hvcNAQEFBQADggEBAInAW7fPzOeLeFTmODOohFp6PTUcW/IDy7r7Pp0Hm/Fp0yB2
+dmZmPJiSbdf57yJU2qj/N0YXD+snADBH8mdxQjpgiZ+/gqHEiKRBwnL9RXLxN+qY
+KThRKvYnZ8jPOx1cAecNoF/DjrOTN1/QRThPIPYhyFe5HRUr0Zi2XeBoRqHD+hTS
+JCOQa9K9PQHdAJHtQ80cl4WGIbw7M/8Ru+rZpPpbi5Jao/7AzE4jhQJqbzkm6W53
+im3Z0YCMH9btM1akNcPebKYG8QlSUgovVctc1ZykmRG4BjAcnC8HjhfKafnLT2pK
+LsC6UZxyU/87u2HQl1ISa2OHPq7WAvL46CZvar8=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA1jl9MqwtfAuLZ6ApZY3Nl1V0QDrrPPva45yMDHINVOSvr7+u
+X9YxGjxZQlLqtLXObd5vNbtFA+Rw+8FXrWVmaCxYbdNekp16YFVbViG3MWQpTbnP
+/GIsU6JhRWWZx7+6Cbvazah/KGmyLLI+HzkZFWMGr93mjgZT1bZdTVnfQY37DYhB
+B7iopkAwCguZ8ovzM13zRMFxyjuP4GTH/uAlDniX9qX17FKICIuKss3lS+i0vcOx
+jChW0wjaTC1VksDbyIJF7abcHcA6ZRhWy+wWmNfXr6SLrJXJo04XKB1sSkU6QGa6
+vLr61RxBNhmERM7p2bDU5qS4vBWqGKKWs1CTGwIDAQABAoIBAQCIXAepXZeGQgL2
+byhqkByxm59n0xkxtE7cWyV6No7t3rNF94kTT8/pl0hpw0XKyX8gyFmZph6EH8Eb
+PzKEGOtam/+dyNGGGd9vumVtKgDl24++/eu6BvOYOOAZwFZmo0/UKlNYXUyzeLQF
+Z1/LmBizWFlFUMYU2Uo72t0BA5fsrTzBpsMsvQfPN/+5DEEUBsMRuH4tft/ZNQLF
+0IiFe3bLa/MoeXIvldBatko0uHlqCXX1sRW2lLuGLUhvihT3OuWncjzac/Oc70LN
+mPAKddVCeeIlaoXcKedQp49YZ9/g733Zoy1Zg4dtwAQ9dwAPf52NTKV8YLaIF7Id
+EmdYjgMBAoGBAPnqR+I8VQX4Vu7vl20A0/VD5mgEUXuERbWDgq0+YxBMKuNGfkgj
+uQcW83hTyPPPwdRiX3ON77DhJrUWqBjYADvh23cbo7VrN7EZbI5kIeC4EIq5y79D
+Binkh5yPEY6iokDwS0SiwieN2lRoB4NNCZ4g29xo8wlDYK/xIfrrnvX7AoGBANtw
+v8OJxiOS4tqjU+IfmRF/EblQaTQOsy8CA8TAakB74tZQlw53t6wYEUEdVv2Ygq6U
+vTQzbI1UupvW4GbFNdSv41a7hbpqWQPaab3UUy8gMEJvGsj73LqoUl80I4C3FJvt
+8BGNjt/8XkO3cVWwRHeOpZP3CmeeIJoY8V/kVO1hAoGBANP81aLi+GALCnq9Ax50
+MFcAlKWw3AlA5vyUJDmeDNvbMBn/RskcfCu2XSm5MGEX3tuv4jWbtTC9m17KbCY+
+utwQtl+vM0uFOgVggoO6Dj6XA3kZJuoDCWxprFqxxPvPmoApFD+RK83vdr5YS98l
+br4SM00gPN+jppU3nlJAoWMXAoGAYFeHCa1iXVnu2Tjd6igfRuw39tlT5vQRPTEw
+QGCOBZOeiqNFPqfW7up+IM1l1N7xeP56dwGgxggOCb90NAqfUKqMMBcSZj6sqCFr
+TVl7z/Pc3D31T4osZZLi30N/1tIKbU8wmDRDJxmgtTBDxPAnjyoEjgrm+YkWHTGY
+P5Z6puECgYA0rSDOLVAGgmxZSpDFury30dSjxXu0Isyw/8H3xClsS2d4uY3JFKoo
+31mBbRE2PaRRk2dynVhp6CLJa6vSeB1dXxNGBCCIpa/BtWBjmneq4s8FO7WzQhJG
+KDTvdwkkj11AwI2RgSEOCG8utBs2gY0qKVB08qFxr0snH8LlErsW1A==
+-----END RSA PRIVATE KEY-----

+ 67 - 0
AnsjerPush/file/apns_pem/accloud.pem

@@ -0,0 +1,67 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.accloud
+    localKeyID: E3 53 7E BA 9F B2 77 65 73 86 2B CE 2D C5 D8 67 F0 5C 86 A7 
+subject=/UID=com.ansjer.accloud/CN=Apple Push Services: com.ansjer.accloud/OU=66PK439G56/O=side zhang/C=US
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGFTCCBP2gAwIBAgIID1vukJ183x8wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMjE2MTA1NjE3WhcNMjEwMTE0MTA1NjE3WjCBjTEiMCAGCgmSJomT8ixk
+AQEMEmNvbS5hbnNqZXIuYWNjbG91ZDEwMC4GA1UEAwwnQXBwbGUgUHVzaCBTZXJ2
+aWNlczogY29tLmFuc2plci5hY2Nsb3VkMRMwEQYDVQQLDAo2NlBLNDM5RzU2MRMw
+EQYDVQQKDApzaWRlIHpoYW5nMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBALpyuDFbu2Ct2aB2V9ZQGFyjW4H1gm1Xnt3CcVyOHnug
+OeCAAg+xjxhEjEhJXuyiTHWLfuF4OiLRis7jV4QngvdObijgZ7cihiZJIjQnDWIz
+K23uRlSVjSGdZ2WBuXo9cj8q4NsF1gbvdH1ctKMi5gYYF4V+lD8BfVfXbJPTDkpn
+QRK4K1SMwuqi/UWwjXfrMUWhrM068vdMMajLPODMl5+W+SiluIhPheA5aDNUxzb1
+DCwdTxgrzMCi5qZ9nXpzHDi66MJmgkjUtICmkbmrVIs/HozJ49oE001e0mg4rm0e
+ewLGVk2Svqp2V86qmmCRHq7UgS2k6oWmV6CrBrxCfJMCAwEAAaOCAmwwggJoMAwG
+A1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUiCcXCam2GGCL7Ou69kdZxVJUo7cwggEc
+BgNVHSAEggETMIIBDzCCAQsGCSqGSIb3Y2QFATCB/TCBwwYIKwYBBQUHAgIwgbYM
+gbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1
+bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0
+ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBh
+bmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA1BggrBgEFBQcC
+ARYpaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkwEwYD
+VR0lBAwwCgYIKwYBBQUHAwIwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL2NybC5h
+cHBsZS5jb20vd3dkcmNhLmNybDAdBgNVHQ4EFgQU41N+up+yd2VzhivOLcXYZ/Bc
+hqcwDgYDVR0PAQH/BAQDAgeAMBAGCiqGSIb3Y2QGAwEEAgUAMBAGCiqGSIb3Y2QG
+AwIEAgUAMH0GCiqGSIb3Y2QGAwYEbzBtDBJjb20uYW5zamVyLmFjY2xvdWQwBQwD
+YXBwDBdjb20uYW5zamVyLmFjY2xvdWQudm9pcDAGDAR2b2lwDB9jb20uYW5zamVy
+LmFjY2xvdWQuY29tcGxpY2F0aW9uMA4MDGNvbXBsaWNhdGlvbjANBgkqhkiG9w0B
+AQsFAAOCAQEAaHzk8ER8puY4+9LANtvZ2jIQRmTfri70DdtLue0uSeKIzizBOFI4
+0aFeBh7NVloqYyztPDUBZCmtWSy7OzudEJu5D7+NqTO8HaxW13Cu9YN8gEZplER5
+CzC22e+X7xPPN8y9p3rMfzWtRRHCE3FEKgZaa2X1C4ZtMoVIJzWgPOQb96/HeUNd
+S/LFjzVk1811YD7pPbpQDlNsgPeFH1DZ0lumxVzP+8yPsDKw4gDCIGsuoA08hkV4
+p3eIJBoaAAvc6tfclQfkZdfvS5MXWdoxcoLofJ7C23eMU+keTrAy1oRZd7XZbIk7
+FiuhNfx0XrIVcXsMt0sCySBr2w4aNKdmhA==
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAunK4MVu7YK3ZoHZX1lAYXKNbgfWCbVee3cJxXI4ee6A54IAC
+D7GPGESMSEle7KJMdYt+4Xg6ItGKzuNXhCeC905uKOBntyKGJkkiNCcNYjMrbe5G
+VJWNIZ1nZYG5ej1yPyrg2wXWBu90fVy0oyLmBhgXhX6UPwF9V9dsk9MOSmdBErgr
+VIzC6qL9RbCNd+sxRaGszTry90wxqMs84MyXn5b5KKW4iE+F4DloM1THNvUMLB1P
+GCvMwKLmpn2denMcOLrowmaCSNS0gKaRuatUiz8ejMnj2gTTTV7SaDiubR57AsZW
+TZK+qnZXzqqaYJEertSBLaTqhaZXoKsGvEJ8kwIDAQABAoIBAQCujDuYKdKv3dHB
+gUkWIAHOqDhA4EDscH0QCrrp9Trgbc4BOJW1b3sRMwtJmTa+vepqmN994Xo7ooQa
+z4bc98iKEejbZ8pxDmccbJcS0ASdjF36GnnJMgDgGWX1B49Gu0O7kz7SjRIjiAU8
+X4/UshU6W0+Z8DiFC7X2iHzjn1DfoVQTgQj1Oh1WOgSRnpBWZAU9dOa9YpqbeCS+
+WzEWhokiy98F6mHH1rVZqVHuHU5/IYiQWY/A1kMNYsVFaXKO7pyGryRPMGKvoRKJ
+nW2m7Nli6GZ1D07CJmYdF1jLLCEkYkchTOWl3XOdMk+vSYKPjGuymXuvq2CDNFfG
+jQfgUKzRAoGBAO5TUThvpYexqBUFsfPfaewikUHqAl7beTI3pDzYmGXRSjnRO0kx
+Sx9n2SULs3dnuUeK9u1EV6WAO1SIQGOfY+0Z4qI12lkZqivbBbxY17fie0wMcoJu
+21HvXnbnf0r3/S2DTat76JMU10E5z9wgDs1qI3ZQ1mOR+uQIxGcArVP9AoGBAMhG
+frSDmrBCjfWx/9f0O1tpeG3Qw7tQMcNORTyGt0NEM8nKUhxH89BTPwrjAQBhPNqt
+cQ2KiM6A+qHZA6dkCa/cqXKTcAWiaWvNwnNF1BHTAh7V3tACTVzeRDpYjkbfrF22
+zHbEmaY4V1eqeK55ugpOcSS6LcjkRyg1iOp/ms/PAoGBAM96HTVCjRqqoSdcA+XJ
+U89M8KQvcszdyI7dPc/yyAmrwDDBZBl+HmZC5BmKLD0BQZ107y7z1lGwZvZaf6O6
++SVK6bBJrcLvwuPXExE7TuE4/BnipDXFCI42E0j0lC7R4ckjjBSEFJ8m/5Y7HCgI
+iJpvklvIWDvqtD6dG06ImlyJAoGAc8z/GlU2LlBtUPFZI38eix6S+bxKUJZwD6PE
+ONkUQhq/byBDFgMsoPpha2QSgiu3SiIbSl8d93lwcgDPMgyP5VXLzGofzcI4/pJ8
+qrZnht7hTP8Q1GlgXiBOhwYJTkWqno1B8DKBPTE6n3/8Q7Yysh7lIP1d19jWpBNA
+VYbu9tUCgYBYUli4UgFihqwDLkewwGevbgox2CB4Igj6K1l5JThcYjDPnjE61IW0
+HdsoXre17DB/2mP3HO7S0nL/gigjsXMNwZy+b5kPeoIwnn15rm9fe0No8+C6dUtP
+FLLe6br9LMhrqPlSCoptcerq0GG7YA9cKvoUYRrojptB1EE0ReeqdA==
+-----END RSA PRIVATE KEY-----

+ 64 - 0
AnsjerPush/file/apns_pem/customizeda-dev.pem

@@ -0,0 +1,64 @@
+Bag Attributes
+    friendlyName: Apple Development IOS Push Services: com.ansjer.customizeda
+    localKeyID: 70 A0 2E 70 8B E6 88 0C F6 4D 4E 9F D8 21 23 3F 4A E7 87 86 
+subject=/UID=com.ansjer.customizeda/CN=Apple Development IOS Push Services: com.ansjer.customizeda/OU=47V9C97WG7/C=AU
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIFkTCCBHmgAwIBAgIIBpjLEWeGlpowDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDk0MjUwWhcNMjAxMTA3MDk0MjUwWjCBkDEmMCQGCgmSJomT8ixk
+AQEMFmNvbS5hbnNqZXIuY3VzdG9taXplZGExRDBCBgNVBAMMO0FwcGxlIERldmVs
+b3BtZW50IElPUyBQdXNoIFNlcnZpY2VzOiBjb20uYW5zamVyLmN1c3RvbWl6ZWRh
+MRMwEQYDVQQLDAo0N1Y5Qzk3V0c3MQswCQYDVQQGEwJBVTCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBAKcXmdal9BeTF5liE+sIwHVleH3ElolMN2A1qsHI
+rfAeXc+DkHvjqk9W+1+BSln2jkfn0/8UBpIt9WG1Jusj9R4fn5mT0nP81BKL/c64
+qrWGFG4THELiT6Sz9JFYh7co2WFCmLFM7tDStiIWGmWbVKgVs8Vq9tE9zscuyeyo
+W/JfV5Ab7L30qkmpv0dq7S5sQUBBFu+Vs9IshUA/SgoVfutPBSCLrGD+/URAa3p6
+qtnEMxaRXKlxJfrMn6Pxlc8Eyhx/0a1Bn/TJBbGxdvc0+Pxw95hNGhRXwOVN43IL
+q5pepm0UQyri8SPm33/o+9oaJqNzC1gS94e5zqafMdvOb+MCAwEAAaOCAeUwggHh
+MAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUiCcXCam2GGCL7Ou69kdZxVJUo7cwggEP
+BgNVHSAEggEGMIIBAjCB/wYJKoZIhvdjZAUBMIHxMIHDBggrBgEFBQcCAjCBtgyB
+s1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3Vt
+ZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRl
+cm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFu
+ZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMCkGCCsGAQUFBwIB
+Fh1odHRwOi8vd3d3LmFwcGxlLmNvbS9hcHBsZWNhLzATBgNVHSUEDDAKBggrBgEF
+BQcDAjBNBgNVHR8ERjBEMEKgQKA+hjxodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNv
+bS9jZXJ0aWZpY2F0aW9uYXV0aG9yaXR5L3d3ZHJjYS5jcmwwHQYDVR0OBBYEFHCg
+LnCL5ogM9k1On9ghIz9K54eGMAsGA1UdDwQEAwIHgDAQBgoqhkiG92NkBgMBBAIF
+ADANBgkqhkiG9w0BAQUFAAOCAQEAURmmauUmkpMpaXbIAvgXMJwXkjKI0GT9aXLM
+bnwstmVMNZtGNMHzb2U2x81TlEoSdH4+F+9n7DkcrUzrY1Gcr4Q9jkBJ48SrLrq4
+yMmcmz/7Gasph8td19JUP7+wnYrRDQfDynntmkQvnfLhttMUvI0XADcdunui8u9T
+CxZxX300PqHCXW4/D7gOVUuW/PSazxvqN6cTHfAavhbBJqwNP4idNpCUL+D5XSrS
+3OYlyBsvwYFGMcwIa6rmKJCPqBJv71ewk3iK1eRfckZk9imHwRVAfsekQ3VlpFZV
+DZcFTFAjMuvPOYG90ge+lTU6XACctgkbT5y5fBz3Jd/snkpshA==
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEApxeZ1qX0F5MXmWIT6wjAdWV4fcSWiUw3YDWqwcit8B5dz4OQ
+e+OqT1b7X4FKWfaOR+fT/xQGki31YbUm6yP1Hh+fmZPSc/zUEov9zriqtYYUbhMc
+QuJPpLP0kViHtyjZYUKYsUzu0NK2IhYaZZtUqBWzxWr20T3Oxy7J7Khb8l9XkBvs
+vfSqSam/R2rtLmxBQEEW75Wz0iyFQD9KChV+608FIIusYP79REBrenqq2cQzFpFc
+qXEl+syfo/GVzwTKHH/RrUGf9MkFsbF29zT4/HD3mE0aFFfA5U3jcgurml6mbRRD
+KuLxI+bff+j72homo3MLWBL3h7nOpp8x285v4wIDAQABAoIBAEqx+TqEa27SeZ0+
+w+qwueCBIPEQHb94y9R9iT0hqegKmyM2DDPl3W+kUbErCgLXfllUoGeKGznjw6sP
+ITvCkkQKHP25oD3rix5TaH2t/dox+xYOAvc/Vh0puS30Zo8ResPI0puH6cZ+O59X
+RCuh2aFeOkQJghady78tAmWCCcB593j4e63pds1dcoCO5TnysQwntwdgpBMvo5yH
+QuazSIHCu1YAmFrz5SwDAqq35hqYGlPpDzStRjTYmNg68ubbOeFGSKknEOzYhKGV
+TnCftDEAkePDBoNT5Mx7mJ+LV4JHBvXMyXSOJX07Wm1yZNMAkibjdxzrcRxtfTpU
+7rYKxZkCgYEA2QLVZZ3JEqqdEI+/5f307ExnGuIR5Z81p7xta81Z50dHQ0w+FglX
+62U9evZQ4iW3+/aoPP/kX22xrjf463wP/ou7f9Jhim7AFqdHud4tEqKubljde6dF
+Hh3CVpwtZLII768GQYHl+DlVVPg/NFhVy4EkfOXxfG4+R8SLsy9ugMcCgYEAxRzO
+z2vVCz7J2s0U6NNn+GZkfZOoAOGtIo/YMxEnf04E5iEy7JmfgGQyKboZOhNnndLI
+6f7G7/f9yWcdYbQUPLXyL8OMCBpF18UugL6OK8cBc4xXOnoE48Un+oYFFRhR27b8
+4Kl9Xpkju4I6y12dMwExXMirBKoedd8hSH0WtAUCgYA9KndLdPW/tScgC+RixvnJ
+wJ8vDJlOx1kwNgQBZpf4gDat2UeGnouRZa+2gMa7dzYsZpF04AtWemyiVlRqy0UW
+0fu/Q2UKx7yMpgmpcd3yargPkiybNcJdgrXMA6knwKaUKBjzTdGr7T0H/hCSiHNm
+MLhAG++8yrXzNIrLrorO8QKBgExoz26usWZrj5om180tbmdnYdsgKwc0dIYqVrft
+FW+PEe0Xv4LiRmdh7+QnBPJzZT5T4Jh8sCeD7bhuJYCjaxjhuyFy30ygyqRLBqzX
+sYsc2N4u7/12IYEeA1JlM4Eq7UiL1dlNOpE6MhTU9e+xuWd1Nepuy4TCYY510ZQl
+EXD1AoGAU19qzaVNhV8I3bnzyQ0m80ouvvRQFiLbxC32QQMyrk7fOfi9p+w3ImHn
+2sYj1p5V1yMx9I4nRoLhLMRyX+Nm5uiVCQLAjE9qd3ES9QKAWhvbSAU2t/RSw0pa
+EYxBc50Xw8vE9x6OI6g9yONgxaXwezhXUsb6uASSZ95SFQQIEBc=
+-----END RSA PRIVATE KEY-----

+ 68 - 0
AnsjerPush/file/apns_pem/customizeda.pem

@@ -0,0 +1,68 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.customizeda
+    localKeyID: 70 A0 2E 70 8B E6 88 0C F6 4D 4E 9F D8 21 23 3F 4A E7 87 86 
+subject=/UID=com.ansjer.customizeda/CN=Apple Push Services: com.ansjer.customizeda/OU=47V9C97WG7/O=UNIDEN AUSTRALIA PTY. LIMITED/C=AU
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGPTCCBSWgAwIBAgIIW42Ci2ds27kwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDk0MzE3WhcNMjAxMjA3MDk0MzE3WjCBqDEmMCQGCgmSJomT8ixk
+AQEMFmNvbS5hbnNqZXIuY3VzdG9taXplZGExNDAyBgNVBAMMK0FwcGxlIFB1c2gg
+U2VydmljZXM6IGNvbS5hbnNqZXIuY3VzdG9taXplZGExEzARBgNVBAsMCjQ3VjlD
+OTdXRzcxJjAkBgNVBAoMHVVOSURFTiBBVVNUUkFMSUEgUFRZLiBMSU1JVEVEMQsw
+CQYDVQQGEwJBVTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKcXmdal
+9BeTF5liE+sIwHVleH3ElolMN2A1qsHIrfAeXc+DkHvjqk9W+1+BSln2jkfn0/8U
+BpIt9WG1Jusj9R4fn5mT0nP81BKL/c64qrWGFG4THELiT6Sz9JFYh7co2WFCmLFM
+7tDStiIWGmWbVKgVs8Vq9tE9zscuyeyoW/JfV5Ab7L30qkmpv0dq7S5sQUBBFu+V
+s9IshUA/SgoVfutPBSCLrGD+/URAa3p6qtnEMxaRXKlxJfrMn6Pxlc8Eyhx/0a1B
+n/TJBbGxdvc0+Pxw95hNGhRXwOVN43ILq5pepm0UQyri8SPm33/o+9oaJqNzC1gS
+94e5zqafMdvOb+MCAwEAAaOCAnkwggJ1MAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgw
+FoAUiCcXCam2GGCL7Ou69kdZxVJUo7cwggEcBgNVHSAEggETMIIBDzCCAQsGCSqG
+SIb3Y2QFATCB/TCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNl
+cnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhl
+IHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBv
+ZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFj
+dGljZSBzdGF0ZW1lbnRzLjA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hcHBsZS5j
+b20vY2VydGlmaWNhdGVhdXRob3JpdHkwEwYDVR0lBAwwCgYIKwYBBQUHAwIwMAYD
+VR0fBCkwJzAloCOgIYYfaHR0cDovL2NybC5hcHBsZS5jb20vd3dkcmNhLmNybDAd
+BgNVHQ4EFgQUcKAucIvmiAz2TU6f2CEjP0rnh4YwDgYDVR0PAQH/BAQDAgeAMBAG
+CiqGSIb3Y2QGAwEEAgUAMBAGCiqGSIb3Y2QGAwIEAgUAMIGJBgoqhkiG92NkBgMG
+BHsweQwWY29tLmFuc2plci5jdXN0b21pemVkYTAFDANhcHAMG2NvbS5hbnNqZXIu
+Y3VzdG9taXplZGEudm9pcDAGDAR2b2lwDCNjb20uYW5zamVyLmN1c3RvbWl6ZWRh
+LmNvbXBsaWNhdGlvbjAODAxjb21wbGljYXRpb24wDQYJKoZIhvcNAQELBQADggEB
+AGo9f13Hat17sOMugP5IR6yYsnBBFs0H4BpTic7hCaRAu+itTSQPoLgItHypx9vM
+odn6Uj/RcdrU0q15JUHoOsxb4KIqMNKvAPI/67xVxLtGyqlciMzKejkrWWY+SBhV
+KYsVGqo5CRhPkjEReu3Dt0NEKnE7Q2HODev4bwdXO5Ss1vplYcLWL5BZOiTixQ4r
+v8FY4mjq29pAB6aTIdKDm07g7ZHPVpoFBuPV9AGilKySbUDTK2UPZG/uCxUaxFWr
+Wnjudx8lOe+wFbo/EbGC3hXsgDhJccMAKIOTnXSZD0dKXM6yaL5z+vvoFaY3cmfK
+H8iR0OZBPWtjVvbwsZo7mSI=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEApxeZ1qX0F5MXmWIT6wjAdWV4fcSWiUw3YDWqwcit8B5dz4OQ
+e+OqT1b7X4FKWfaOR+fT/xQGki31YbUm6yP1Hh+fmZPSc/zUEov9zriqtYYUbhMc
+QuJPpLP0kViHtyjZYUKYsUzu0NK2IhYaZZtUqBWzxWr20T3Oxy7J7Khb8l9XkBvs
+vfSqSam/R2rtLmxBQEEW75Wz0iyFQD9KChV+608FIIusYP79REBrenqq2cQzFpFc
+qXEl+syfo/GVzwTKHH/RrUGf9MkFsbF29zT4/HD3mE0aFFfA5U3jcgurml6mbRRD
+KuLxI+bff+j72homo3MLWBL3h7nOpp8x285v4wIDAQABAoIBAEqx+TqEa27SeZ0+
+w+qwueCBIPEQHb94y9R9iT0hqegKmyM2DDPl3W+kUbErCgLXfllUoGeKGznjw6sP
+ITvCkkQKHP25oD3rix5TaH2t/dox+xYOAvc/Vh0puS30Zo8ResPI0puH6cZ+O59X
+RCuh2aFeOkQJghady78tAmWCCcB593j4e63pds1dcoCO5TnysQwntwdgpBMvo5yH
+QuazSIHCu1YAmFrz5SwDAqq35hqYGlPpDzStRjTYmNg68ubbOeFGSKknEOzYhKGV
+TnCftDEAkePDBoNT5Mx7mJ+LV4JHBvXMyXSOJX07Wm1yZNMAkibjdxzrcRxtfTpU
+7rYKxZkCgYEA2QLVZZ3JEqqdEI+/5f307ExnGuIR5Z81p7xta81Z50dHQ0w+FglX
+62U9evZQ4iW3+/aoPP/kX22xrjf463wP/ou7f9Jhim7AFqdHud4tEqKubljde6dF
+Hh3CVpwtZLII768GQYHl+DlVVPg/NFhVy4EkfOXxfG4+R8SLsy9ugMcCgYEAxRzO
+z2vVCz7J2s0U6NNn+GZkfZOoAOGtIo/YMxEnf04E5iEy7JmfgGQyKboZOhNnndLI
+6f7G7/f9yWcdYbQUPLXyL8OMCBpF18UugL6OK8cBc4xXOnoE48Un+oYFFRhR27b8
+4Kl9Xpkju4I6y12dMwExXMirBKoedd8hSH0WtAUCgYA9KndLdPW/tScgC+RixvnJ
+wJ8vDJlOx1kwNgQBZpf4gDat2UeGnouRZa+2gMa7dzYsZpF04AtWemyiVlRqy0UW
+0fu/Q2UKx7yMpgmpcd3yargPkiybNcJdgrXMA6knwKaUKBjzTdGr7T0H/hCSiHNm
+MLhAG++8yrXzNIrLrorO8QKBgExoz26usWZrj5om180tbmdnYdsgKwc0dIYqVrft
+FW+PEe0Xv4LiRmdh7+QnBPJzZT5T4Jh8sCeD7bhuJYCjaxjhuyFy30ygyqRLBqzX
+sYsc2N4u7/12IYEeA1JlM4Eq7UiL1dlNOpE6MhTU9e+xuWd1Nepuy4TCYY510ZQl
+EXD1AoGAU19qzaVNhV8I3bnzyQ0m80ouvvRQFiLbxC32QQMyrk7fOfi9p+w3ImHn
+2sYj1p5V1yMx9I4nRoLhLMRyX+Nm5uiVCQLAjE9qd3ES9QKAWhvbSAU2t/RSw0pa
+EYxBc50Xw8vE9x6OI6g9yONgxaXwezhXUsb6uASSZ95SFQQIEBc=
+-----END RSA PRIVATE KEY-----

+ 64 - 0
AnsjerPush/file/apns_pem/customizedb-dev.pem

@@ -0,0 +1,64 @@
+Bag Attributes
+    friendlyName: Apple Development IOS Push Services: com.ansjer.customizedb
+    localKeyID: 53 D0 A7 6B CF E9 9C 46 ED 44 01 01 01 14 02 52 A6 45 AB C5 
+subject=/UID=com.ansjer.customizedb/CN=Apple Development IOS Push Services: com.ansjer.customizedb/OU=485ZBTNP7J/C=AU
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIFkTCCBHmgAwIBAgIIFWKl1P6fRqAwDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDgzNzI3WhcNMjAxMTA3MDgzNzI3WjCBkDEmMCQGCgmSJomT8ixk
+AQEMFmNvbS5hbnNqZXIuY3VzdG9taXplZGIxRDBCBgNVBAMMO0FwcGxlIERldmVs
+b3BtZW50IElPUyBQdXNoIFNlcnZpY2VzOiBjb20uYW5zamVyLmN1c3RvbWl6ZWRi
+MRMwEQYDVQQLDAo0ODVaQlROUDdKMQswCQYDVQQGEwJBVTCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBANOI0TfZ1x5kwSw7/Sdr+oNxgPeJxZq7Khib9IvQ
+5ZW0hqEXgnm9dyDjpAc2FDjL/FzMUtCviJmxQrISW3dzcwtkKzY//vlQ58ZhlNVG
+m6COjzeJKnP2kdmXipzt9kwPK6tfNxhrNFqUXMH889soFL49W0AykK/hrUKD++0c
+IwXed4lRAxXJORePI27ErhRT8+B5yTjLnZOa+4kwwS2RstGioKHTjpVKDZwYuaM0
+72P4QK+fetFv9dl049sM+1oJ7Z0sT5wvWV0l2TLGTkoma+GR+JCU5GGAmtLyvrco
+NlKLw8JGqSBstZbp1dQFA7BAIuyEt+Jxjkzgu4s+2FROvnUCAwEAAaOCAeUwggHh
+MAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUiCcXCam2GGCL7Ou69kdZxVJUo7cwggEP
+BgNVHSAEggEGMIIBAjCB/wYJKoZIhvdjZAUBMIHxMIHDBggrBgEFBQcCAjCBtgyB
+s1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3Vt
+ZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRl
+cm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFu
+ZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMCkGCCsGAQUFBwIB
+Fh1odHRwOi8vd3d3LmFwcGxlLmNvbS9hcHBsZWNhLzATBgNVHSUEDDAKBggrBgEF
+BQcDAjBNBgNVHR8ERjBEMEKgQKA+hjxodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNv
+bS9jZXJ0aWZpY2F0aW9uYXV0aG9yaXR5L3d3ZHJjYS5jcmwwHQYDVR0OBBYEFFPQ
+p2vP6ZxG7UQBAQEUAlKmRavFMAsGA1UdDwQEAwIHgDAQBgoqhkiG92NkBgMBBAIF
+ADANBgkqhkiG9w0BAQUFAAOCAQEAIvlmy2VPFbbY0BdmA1LjoGfUOtcJd8B6gpav
+n0oVzohIT1t8TBe/GPvgMFmGgPDJkuyJnI7lwvsxUoIJ/eJu+We2Y0iF8BvE3hPx
+VU+epvzOmxFnsxg+2go3pZEGv2eRgmbarYai5N37x0ERES3F4dQDzsnr1gxAO1QH
+fZr39DL0wU9gJUEq1wNsAt6CDyCdsdQPuwuB6X0iVeCiRs5SnjR4x7HDC4DlzC8q
+5Azej615Nel88V6+Cvu7evc7kyT8iAXsUCJSiL8ioxaLfHLZ7HjO567+aWidcG6e
+E5wHJ8wvVe+SCgSrCz1z+LU+7VaYrr+0hw/coxUtlZ/U/LJerg==
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA04jRN9nXHmTBLDv9J2v6g3GA94nFmrsqGJv0i9DllbSGoReC
+eb13IOOkBzYUOMv8XMxS0K+ImbFCshJbd3NzC2QrNj/++VDnxmGU1UaboI6PN4kq
+c/aR2ZeKnO32TA8rq183GGs0WpRcwfzz2ygUvj1bQDKQr+GtQoP77RwjBd53iVED
+Fck5F48jbsSuFFPz4HnJOMudk5r7iTDBLZGy0aKgodOOlUoNnBi5ozTvY/hAr596
+0W/12XTj2wz7WgntnSxPnC9ZXSXZMsZOSiZr4ZH4kJTkYYCa0vK+tyg2UovDwkap
+IGy1lunV1AUDsEAi7IS34nGOTOC7iz7YVE6+dQIDAQABAoIBAATziOIjyTM+7H6a
+kNxhXKXC/F/O678pblzRGbJEG3ublCMlJ7qtwqIUcfxxOZvyul95sN6NnUbrrUH5
+yAZNv32exJwqd09io2ozUoaDdpUVgSitnz7DoLpVH7t4nnE9UapbOjDqIXmVS26G
++zZAA+xIB2DDTjuvrpyF9lmgdPloJsA3Q+X3nFfNgbt8Z8xGF2xs8a3R/83k8y+F
+UueDV56v/ivIebPULSOsktEQXtKDgYLNIuMXDztJSflTr0M+Uq9qPIs6fQl55ssk
+o7G55vAzlTBlwSWiOSubecAmiyFeWY3E16uVAYcTKXYEjSpFTqAyNjBTElsgSiuh
+kSODACkCgYEA898WP5Edd9tUgJCr0OQcxdCmXhTZI2fcAqEcjfCyxKHRXAzDwrKN
+Dpx5Es+Ymn2bRGoLCYpeXpxHZTnuRakrO8zM34PbCWWul14oAKzB5vn7TRuNJXOE
+HeOeztF8FEao3YAQlmDR8SqgG0+Z0fkU0/668r0nxz87NQhVmryF8csCgYEA3g4G
+AmULfpRebUyNIn+rtyd2R6IqR3S3HYrfZNRcPPN4V6T5hRN9Fbg+xu3HvY4xl2ww
+XTa5Fq48+K+Hahq+VLyG1FCQWKaJkcKwhUsE811SWVqBUDiFiE+t0+xMdiuuWA2+
+WBnxXJuRZjX7Lz3uvyhkPYvg3GGl+gIe2UhTCL8CgYBO/BAOoodyzFzADxs22sre
+3scjbYkuSHMffuLqreyYdviB4bh9lKrO8qrcBtScJNZnABl3C5Oo/OC6zlp3wWS5
+R4mLUv9cOcykReCa51kd4BUeUjAS0ykVLSXAQmT3hDMpGlNFATK981pLvipJsWyn
+hLcz60O46qfYc0yWgzy2pQKBgDZbgncVmzG6Sj9BTQ9T54onW9n/RZBGbwkJVNRO
+8+FrzFrQJNDBy44Ek0GJNaseYt9peZFn8vktX/mUpnZ/43XEzNCuhBdfdS+8VA/d
+JHIatyzubddgbrfGoYvOPY1z9fLSMnVIrH/6CSbXMg0HgSlETv2N/1aThNjlqf2Q
+qdrrAoGBAO7cE80xgQaZxu3x9ZtM4PeiE2thVjdZEGAyQlRyS6BO0iGMGWjpeUZq
+2ZJvm8AurRv7Wtmjf9EsoIJKbnGI3wBH0Sbs8LZ8ksI4Dtcx8UPeqzeUwfM/VQdH
+qARGkCRJD/nBbZIy+sOfBysnYVr099kEoGFW8XA0IoGveVkGv8p9
+-----END RSA PRIVATE KEY-----

+ 68 - 0
AnsjerPush/file/apns_pem/customizedb.pem

@@ -0,0 +1,68 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.customizedb
+    localKeyID: 53 D0 A7 6B CF E9 9C 46 ED 44 01 01 01 14 02 52 A6 45 AB C5 
+subject=/UID=com.ansjer.customizedb/CN=Apple Push Services: com.ansjer.customizedb/OU=485ZBTNP7J/O=Winplus Australasia PTY LTD/C=AU
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGOzCCBSOgAwIBAgIIGg1yKiemRoEwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDgzODA0WhcNMjAxMjA3MDgzODA0WjCBpjEmMCQGCgmSJomT8ixk
+AQEMFmNvbS5hbnNqZXIuY3VzdG9taXplZGIxNDAyBgNVBAMMK0FwcGxlIFB1c2gg
+U2VydmljZXM6IGNvbS5hbnNqZXIuY3VzdG9taXplZGIxEzARBgNVBAsMCjQ4NVpC
+VE5QN0oxJDAiBgNVBAoMG1dpbnBsdXMgQXVzdHJhbGFzaWEgUFRZIExURDELMAkG
+A1UEBhMCQVUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTiNE32dce
+ZMEsO/0na/qDcYD3icWauyoYm/SL0OWVtIahF4J5vXcg46QHNhQ4y/xczFLQr4iZ
+sUKyElt3c3MLZCs2P/75UOfGYZTVRpugjo83iSpz9pHZl4qc7fZMDyurXzcYazRa
+lFzB/PPbKBS+PVtAMpCv4a1Cg/vtHCMF3neJUQMVyTkXjyNuxK4UU/Pgeck4y52T
+mvuJMMEtkbLRoqCh046VSg2cGLmjNO9j+ECvn3rRb/XZdOPbDPtaCe2dLE+cL1ld
+Jdkyxk5KJmvhkfiQlORhgJrS8r63KDZSi8PCRqkgbLWW6dXUBQOwQCLshLficY5M
+4LuLPthUTr51AgMBAAGjggJ5MIICdTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaA
+FIgnFwmpthhgi+zruvZHWcVSVKO3MIIBHAYDVR0gBIIBEzCCAQ8wggELBgkqhkiG
+92NkBQEwgf0wgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0
+aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0
+aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2Yg
+dXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3Rp
+Y2Ugc3RhdGVtZW50cy4wNQYIKwYBBQUHAgEWKWh0dHA6Ly93d3cuYXBwbGUuY29t
+L2NlcnRpZmljYXRlYXV0aG9yaXR5MBMGA1UdJQQMMAoGCCsGAQUFBwMCMDAGA1Ud
+HwQpMCcwJaAjoCGGH2h0dHA6Ly9jcmwuYXBwbGUuY29tL3d3ZHJjYS5jcmwwHQYD
+VR0OBBYEFFPQp2vP6ZxG7UQBAQEUAlKmRavFMA4GA1UdDwEB/wQEAwIHgDAQBgoq
+hkiG92NkBgMBBAIFADAQBgoqhkiG92NkBgMCBAIFADCBiQYKKoZIhvdjZAYDBgR7
+MHkMFmNvbS5hbnNqZXIuY3VzdG9taXplZGIwBQwDYXBwDBtjb20uYW5zamVyLmN1
+c3RvbWl6ZWRiLnZvaXAwBgwEdm9pcAwjY29tLmFuc2plci5jdXN0b21pemVkYi5j
+b21wbGljYXRpb24wDgwMY29tcGxpY2F0aW9uMA0GCSqGSIb3DQEBCwUAA4IBAQA7
+mHftwMQj6bfXVzXMf6qsvM1gc/842e1/4aPiM4A+09dgJFUXz6Zq7Zw7JkcMWJdx
+bJsDcH4FoNR0Z24RM8wKjaYsPUQz6I3CBgSC5Zj5OnbSDuYLLciqDPWdVqtZD0EK
+/oMt7O8H4H640ZvzNOpfa+WPTBlyWWoYJvQJtFmPNajmaMKGj5BIxgmxW+bAGbdN
+IOiIgebFn0vcXiybptS6nthvBf7qqs5y0Z9ZwOh2Z/e3ognHv35Qa5fBfjuDf0Gb
+mUa7fAoI/MVdu2TwvdmZQ6Ob1IPL9z1yPHBeUwt8qGDqaqeoXo7uVg/qQCAHEz+n
+b4AM1a7aHD1YTAnbk+FH
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA04jRN9nXHmTBLDv9J2v6g3GA94nFmrsqGJv0i9DllbSGoReC
+eb13IOOkBzYUOMv8XMxS0K+ImbFCshJbd3NzC2QrNj/++VDnxmGU1UaboI6PN4kq
+c/aR2ZeKnO32TA8rq183GGs0WpRcwfzz2ygUvj1bQDKQr+GtQoP77RwjBd53iVED
+Fck5F48jbsSuFFPz4HnJOMudk5r7iTDBLZGy0aKgodOOlUoNnBi5ozTvY/hAr596
+0W/12XTj2wz7WgntnSxPnC9ZXSXZMsZOSiZr4ZH4kJTkYYCa0vK+tyg2UovDwkap
+IGy1lunV1AUDsEAi7IS34nGOTOC7iz7YVE6+dQIDAQABAoIBAATziOIjyTM+7H6a
+kNxhXKXC/F/O678pblzRGbJEG3ublCMlJ7qtwqIUcfxxOZvyul95sN6NnUbrrUH5
+yAZNv32exJwqd09io2ozUoaDdpUVgSitnz7DoLpVH7t4nnE9UapbOjDqIXmVS26G
++zZAA+xIB2DDTjuvrpyF9lmgdPloJsA3Q+X3nFfNgbt8Z8xGF2xs8a3R/83k8y+F
+UueDV56v/ivIebPULSOsktEQXtKDgYLNIuMXDztJSflTr0M+Uq9qPIs6fQl55ssk
+o7G55vAzlTBlwSWiOSubecAmiyFeWY3E16uVAYcTKXYEjSpFTqAyNjBTElsgSiuh
+kSODACkCgYEA898WP5Edd9tUgJCr0OQcxdCmXhTZI2fcAqEcjfCyxKHRXAzDwrKN
+Dpx5Es+Ymn2bRGoLCYpeXpxHZTnuRakrO8zM34PbCWWul14oAKzB5vn7TRuNJXOE
+HeOeztF8FEao3YAQlmDR8SqgG0+Z0fkU0/668r0nxz87NQhVmryF8csCgYEA3g4G
+AmULfpRebUyNIn+rtyd2R6IqR3S3HYrfZNRcPPN4V6T5hRN9Fbg+xu3HvY4xl2ww
+XTa5Fq48+K+Hahq+VLyG1FCQWKaJkcKwhUsE811SWVqBUDiFiE+t0+xMdiuuWA2+
+WBnxXJuRZjX7Lz3uvyhkPYvg3GGl+gIe2UhTCL8CgYBO/BAOoodyzFzADxs22sre
+3scjbYkuSHMffuLqreyYdviB4bh9lKrO8qrcBtScJNZnABl3C5Oo/OC6zlp3wWS5
+R4mLUv9cOcykReCa51kd4BUeUjAS0ykVLSXAQmT3hDMpGlNFATK981pLvipJsWyn
+hLcz60O46qfYc0yWgzy2pQKBgDZbgncVmzG6Sj9BTQ9T54onW9n/RZBGbwkJVNRO
+8+FrzFrQJNDBy44Ek0GJNaseYt9peZFn8vktX/mUpnZ/43XEzNCuhBdfdS+8VA/d
+JHIatyzubddgbrfGoYvOPY1z9fLSMnVIrH/6CSbXMg0HgSlETv2N/1aThNjlqf2Q
+qdrrAoGBAO7cE80xgQaZxu3x9ZtM4PeiE2thVjdZEGAyQlRyS6BO0iGMGWjpeUZq
+2ZJvm8AurRv7Wtmjf9EsoIJKbnGI3wBH0Sbs8LZ8ksI4Dtcx8UPeqzeUwfM/VQdH
+qARGkCRJD/nBbZIy+sOfBysnYVr099kEoGFW8XA0IoGveVkGv8p9
+-----END RSA PRIVATE KEY-----

+ 68 - 0
AnsjerPush/file/apns_pem/lcc-dev.pem

@@ -0,0 +1,68 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.loocamccloud
+    localKeyID: 81 BA F8 2E C5 58 9A A4 86 A9 47 F6 EF B7 16 48 1C 7A 1E E9
+subject=/UID=com.ansjer.loocamccloud/CN=Apple Push Services: com.ansjer.loocamccloud/OU=JCHT67XT68/O=Loocam Technology LLC/C=US
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGOjCCBSKgAwIBAgIIEh/B+Kd1dVowDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMDE1MDk0OTQ4WhcNMjAxMTEzMDk0OTQ4WjCBojEnMCUGCgmSJomT8ixk
+AQEMF2NvbS5hbnNqZXIubG9vY2FtY2Nsb3VkMTUwMwYDVQQDDCxBcHBsZSBQdXNo
+IFNlcnZpY2VzOiBjb20uYW5zamVyLmxvb2NhbWNjbG91ZDETMBEGA1UECwwKSkNI
+VDY3WFQ2ODEeMBwGA1UECgwVTG9vY2FtIFRlY2hub2xvZ3kgTExDMQswCQYDVQQG
+EwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIfC7vgq2k1bNRW
+4/Ix+W5CYWLzlbZJ3WS+A4X8GEZVkpcuQhADCs/fxMk/KMzl3XvX8YiNQoItKGzK
+Gd0wEtwdjmQvsXwjZG47v7OGE0qj9beQRMYo0gq6SOK7J7r7/8QW9ggmZJXfTqu2
+kQimrpTLeEQdKERbZLxV4i5oOTaAwyzHChNDmvcg2LCjkYaHuOMKtuQHOcMd8RQ4
+DybXkCyPbItIRxuAksMSem2TBHyHoO6Agx3epPgU+9nTbze7eU0OpAiAl7lFqc3i
+80llb8N23q4WUK+1u/5KEVlZjXHvdmOYldVpUK2GUgc4gcBbZoda3DIQ/F8nddTI
+gczwXRMCAwEAAaOCAnwwggJ4MAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUiCcX
+Cam2GGCL7Ou69kdZxVJUo7cwggEcBgNVHSAEggETMIIBDzCCAQsGCSqGSIb3Y2QF
+ATCB/TCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4g
+YXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2Us
+IGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBz
+dGF0ZW1lbnRzLjA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hcHBsZS5jb20vY2Vy
+dGlmaWNhdGVhdXRob3JpdHkwEwYDVR0lBAwwCgYIKwYBBQUHAwIwMAYDVR0fBCkw
+JzAloCOgIYYfaHR0cDovL2NybC5hcHBsZS5jb20vd3dkcmNhLmNybDAdBgNVHQ4E
+FgQUgbr4LsVYmqSGqUf277cWSBx6HukwDgYDVR0PAQH/BAQDAgeAMBAGCiqGSIb3
+Y2QGAwEEAgUAMBAGCiqGSIb3Y2QGAwIEAgUAMIGMBgoqhkiG92NkBgMGBH4wfAwX
+Y29tLmFuc2plci5sb29jYW1jY2xvdWQwBQwDYXBwDBxjb20uYW5zamVyLmxvb2Nh
+bWNjbG91ZC52b2lwMAYMBHZvaXAMJGNvbS5hbnNqZXIubG9vY2FtY2Nsb3VkLmNv
+bXBsaWNhdGlvbjAODAxjb21wbGljYXRpb24wDQYJKoZIhvcNAQELBQADggEBABr9
+dM8BvrJVSwYRGw39JU7kiGV+dOhcJ59XwOdo2xO05dv1iQJeVDRSpni9yfeHX/pu
+rycGgEm40IQxqTNs851KUqBiLjEwRjkX6MZQMbWnTZY8xiLFKm7lhY6mFUsxfkXH
+/dygY9uZkNCzYfzs8JbWRU8p2uNwF3ZRvZiXITncNWImkdtneSHgF3IQtq/6flc5
+aA89zIH8P7V5/Rvye7JFuM98AXNUHO8XznwgGru6kZCpi4e+83AAXhD9JQmHv/wN
+iHCDWHq1TFS8KgbxfvgGkB2r5vlGkWSo2E3xnxGZu6tiRYgNyNqNsJoMeAtH/352
+xQQMuMMfCP/eKBojC+8=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAwh8Lu+CraTVs1Fbj8jH5bkJhYvOVtkndZL4DhfwYRlWSly5C
+EAMKz9/EyT8ozOXde9fxiI1Cgi0obMoZ3TAS3B2OZC+xfCNkbju/s4YTSqP1t5BE
+xijSCrpI4rsnuvv/xBb2CCZkld9Oq7aRCKaulMt4RB0oRFtkvFXiLmg5NoDDLMcK
+E0Oa9yDYsKORhoe44wq25Ac5wx3xFDgPJteQLI9si0hHG4CSwxJ6bZMEfIeg7oCD
+Hd6k+BT72dNvN7t5TQ6kCICXuUWpzeLzSWVvw3berhZQr7W7/koRWVmNce92Y5iV
+1WlQrYZSBziBwFtmh1rcMhD8Xyd11MiBzPBdEwIDAQABAoIBAAi22BIBDfDVIyON
+GwJ+V9IpTLHieXALdNLW7NWQ8Y4GvWPoAbMyT8PxKaZXHX/FOeIbWY5luPybBluL
+3wlc5RvYf9HjijYmaJXCPOLUO/13ysoIwe2bW4J7xlXXTPtJ4LtuxHCtOIq50ZBH
+y871nJS1ZZq5LFuVNrp1qIeoyhi2LuMdkzjpA5MujOhr9vEgI2P2wBazgL2XZ/i/
+2FTJBWp13wSCj6usohni+Ppm77+/Ax9kj0K2vXTjy/fRDIcmkAHdfzifd3oGHtIs
+zc5m1i5GnKXhUB87GrCSvZ1gqJII2ZgXCroprp1TzrWOtH0mzDtzuqYsT8aUpAuG
+Fbnj0sECgYEA+78DbnEAWfzjQXjUytgE2FVSWINsl0zUyr0mIh85r0QY+eQc3LX6
+RDPQq1qndhwXPGY5Nv+hGncAIP0o6eldT1D6LuAcyTzff025aTMLxAswtj1qSfNL
+vVEA+V8Q45TqKIC+CfzJysx5xk53S3DFesCxGfHk5ozmg8ILQSblUlECgYEAxWbD
+OwEW1Wi9UmQcGfKjM7tN22EpY4qid0BJsib/qqfI++42BAuytFKZyyAnaOaNCEKx
+ktaKGZcTCjtstathMiB+3sjJbqOXV+WntrVb4eu35N+IhhRd/ltdyXqx9PwMeMpC
+i73JZZhw9Wn4M7aAC/M37vw3Ztecx5hiTKixXCMCgYAFb3dcgBYY20vw0vINOyLH
+pPf1L0k97wu9IN5c6D2vmhHL+2/gGBHCPTgpKvjopOyfgjmEBXrt/lnDXJPwkPhR
+yRbNwkr80VKmBgCV0+NSJUe095h+5kDhYolZ2QKdV07C9xyjTJDyzv1mGbWbrGCn
+KNfqDn35uFsVxy/FBVj4MQKBgQCkwCyGzVTqTh1ca1MM0PYm0decFg5+FpGb55ra
+RjQxkRFsOhb47255k0rqPe7GXU0trMQZolbmHrF0Y75KLTvUo0xf0cJURdKlOHXu
+RpTmDF6RdYKzLMJ57HVtF6r4pXgfQ+egS4iP81era4MMXe+miZqQKg5vFdqyttqr
+0ksccwKBgQC0jmQ6/KCE2hvNcNIKJzXDZ+4C5LGn6f6hSe5G2yzyt0KVUuUd1gk9
+/IbwSYbNR5SO8KmHoL3yjhBnv+eVE5VFTgy5Gc+J+ON9pPjvYqpwMjlqBCzhUWZN
+gm9kUGZQPYOvuweViXECMZntcVNxG2bKodaMFHKda3xD2fTSeB6OCg==
+-----END RSA PRIVATE KEY-----

+ 68 - 0
AnsjerPush/file/apns_pem/lcc.pem

@@ -0,0 +1,68 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.loocamccloud
+    localKeyID: 81 BA F8 2E C5 58 9A A4 86 A9 47 F6 EF B7 16 48 1C 7A 1E E9 
+subject=/UID=com.ansjer.loocamccloud/CN=Apple Push Services: com.ansjer.loocamccloud/OU=JCHT67XT68/O=Loocam Technology LLC/C=US
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGOjCCBSKgAwIBAgIIEh/B+Kd1dVowDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMDE1MDk0OTQ4WhcNMjAxMTEzMDk0OTQ4WjCBojEnMCUGCgmSJomT8ixk
+AQEMF2NvbS5hbnNqZXIubG9vY2FtY2Nsb3VkMTUwMwYDVQQDDCxBcHBsZSBQdXNo
+IFNlcnZpY2VzOiBjb20uYW5zamVyLmxvb2NhbWNjbG91ZDETMBEGA1UECwwKSkNI
+VDY3WFQ2ODEeMBwGA1UECgwVTG9vY2FtIFRlY2hub2xvZ3kgTExDMQswCQYDVQQG
+EwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIfC7vgq2k1bNRW
+4/Ix+W5CYWLzlbZJ3WS+A4X8GEZVkpcuQhADCs/fxMk/KMzl3XvX8YiNQoItKGzK
+Gd0wEtwdjmQvsXwjZG47v7OGE0qj9beQRMYo0gq6SOK7J7r7/8QW9ggmZJXfTqu2
+kQimrpTLeEQdKERbZLxV4i5oOTaAwyzHChNDmvcg2LCjkYaHuOMKtuQHOcMd8RQ4
+DybXkCyPbItIRxuAksMSem2TBHyHoO6Agx3epPgU+9nTbze7eU0OpAiAl7lFqc3i
+80llb8N23q4WUK+1u/5KEVlZjXHvdmOYldVpUK2GUgc4gcBbZoda3DIQ/F8nddTI
+gczwXRMCAwEAAaOCAnwwggJ4MAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUiCcX
+Cam2GGCL7Ou69kdZxVJUo7cwggEcBgNVHSAEggETMIIBDzCCAQsGCSqGSIb3Y2QF
+ATCB/TCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4g
+YXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2Us
+IGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBz
+dGF0ZW1lbnRzLjA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hcHBsZS5jb20vY2Vy
+dGlmaWNhdGVhdXRob3JpdHkwEwYDVR0lBAwwCgYIKwYBBQUHAwIwMAYDVR0fBCkw
+JzAloCOgIYYfaHR0cDovL2NybC5hcHBsZS5jb20vd3dkcmNhLmNybDAdBgNVHQ4E
+FgQUgbr4LsVYmqSGqUf277cWSBx6HukwDgYDVR0PAQH/BAQDAgeAMBAGCiqGSIb3
+Y2QGAwEEAgUAMBAGCiqGSIb3Y2QGAwIEAgUAMIGMBgoqhkiG92NkBgMGBH4wfAwX
+Y29tLmFuc2plci5sb29jYW1jY2xvdWQwBQwDYXBwDBxjb20uYW5zamVyLmxvb2Nh
+bWNjbG91ZC52b2lwMAYMBHZvaXAMJGNvbS5hbnNqZXIubG9vY2FtY2Nsb3VkLmNv
+bXBsaWNhdGlvbjAODAxjb21wbGljYXRpb24wDQYJKoZIhvcNAQELBQADggEBABr9
+dM8BvrJVSwYRGw39JU7kiGV+dOhcJ59XwOdo2xO05dv1iQJeVDRSpni9yfeHX/pu
+rycGgEm40IQxqTNs851KUqBiLjEwRjkX6MZQMbWnTZY8xiLFKm7lhY6mFUsxfkXH
+/dygY9uZkNCzYfzs8JbWRU8p2uNwF3ZRvZiXITncNWImkdtneSHgF3IQtq/6flc5
+aA89zIH8P7V5/Rvye7JFuM98AXNUHO8XznwgGru6kZCpi4e+83AAXhD9JQmHv/wN
+iHCDWHq1TFS8KgbxfvgGkB2r5vlGkWSo2E3xnxGZu6tiRYgNyNqNsJoMeAtH/352
+xQQMuMMfCP/eKBojC+8=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAwh8Lu+CraTVs1Fbj8jH5bkJhYvOVtkndZL4DhfwYRlWSly5C
+EAMKz9/EyT8ozOXde9fxiI1Cgi0obMoZ3TAS3B2OZC+xfCNkbju/s4YTSqP1t5BE
+xijSCrpI4rsnuvv/xBb2CCZkld9Oq7aRCKaulMt4RB0oRFtkvFXiLmg5NoDDLMcK
+E0Oa9yDYsKORhoe44wq25Ac5wx3xFDgPJteQLI9si0hHG4CSwxJ6bZMEfIeg7oCD
+Hd6k+BT72dNvN7t5TQ6kCICXuUWpzeLzSWVvw3berhZQr7W7/koRWVmNce92Y5iV
+1WlQrYZSBziBwFtmh1rcMhD8Xyd11MiBzPBdEwIDAQABAoIBAAi22BIBDfDVIyON
+GwJ+V9IpTLHieXALdNLW7NWQ8Y4GvWPoAbMyT8PxKaZXHX/FOeIbWY5luPybBluL
+3wlc5RvYf9HjijYmaJXCPOLUO/13ysoIwe2bW4J7xlXXTPtJ4LtuxHCtOIq50ZBH
+y871nJS1ZZq5LFuVNrp1qIeoyhi2LuMdkzjpA5MujOhr9vEgI2P2wBazgL2XZ/i/
+2FTJBWp13wSCj6usohni+Ppm77+/Ax9kj0K2vXTjy/fRDIcmkAHdfzifd3oGHtIs
+zc5m1i5GnKXhUB87GrCSvZ1gqJII2ZgXCroprp1TzrWOtH0mzDtzuqYsT8aUpAuG
+Fbnj0sECgYEA+78DbnEAWfzjQXjUytgE2FVSWINsl0zUyr0mIh85r0QY+eQc3LX6
+RDPQq1qndhwXPGY5Nv+hGncAIP0o6eldT1D6LuAcyTzff025aTMLxAswtj1qSfNL
+vVEA+V8Q45TqKIC+CfzJysx5xk53S3DFesCxGfHk5ozmg8ILQSblUlECgYEAxWbD
+OwEW1Wi9UmQcGfKjM7tN22EpY4qid0BJsib/qqfI++42BAuytFKZyyAnaOaNCEKx
+ktaKGZcTCjtstathMiB+3sjJbqOXV+WntrVb4eu35N+IhhRd/ltdyXqx9PwMeMpC
+i73JZZhw9Wn4M7aAC/M37vw3Ztecx5hiTKixXCMCgYAFb3dcgBYY20vw0vINOyLH
+pPf1L0k97wu9IN5c6D2vmhHL+2/gGBHCPTgpKvjopOyfgjmEBXrt/lnDXJPwkPhR
+yRbNwkr80VKmBgCV0+NSJUe095h+5kDhYolZ2QKdV07C9xyjTJDyzv1mGbWbrGCn
+KNfqDn35uFsVxy/FBVj4MQKBgQCkwCyGzVTqTh1ca1MM0PYm0decFg5+FpGb55ra
+RjQxkRFsOhb47255k0rqPe7GXU0trMQZolbmHrF0Y75KLTvUo0xf0cJURdKlOHXu
+RpTmDF6RdYKzLMJ57HVtF6r4pXgfQ+egS4iP81era4MMXe+miZqQKg5vFdqyttqr
+0ksccwKBgQC0jmQ6/KCE2hvNcNIKJzXDZ+4C5LGn6f6hSe5G2yzyt0KVUuUd1gk9
+/IbwSYbNR5SO8KmHoL3yjhBnv+eVE5VFTgy5Gc+J+ON9pPjvYqpwMjlqBCzhUWZN
+gm9kUGZQPYOvuweViXECMZntcVNxG2bKodaMFHKda3xD2fTSeB6OCg==
+-----END RSA PRIVATE KEY-----

+ 64 - 0
AnsjerPush/file/apns_pem/zccloud-dev.pem

@@ -0,0 +1,64 @@
+Bag Attributes
+    friendlyName: Apple Development IOS Push Services: com.ansjer.zccloud
+    localKeyID: 25 54 61 DA 6A 7C CD 2D 6A 1E 45 64 96 7A 4B 28 89 15 73 D4 
+subject=/UID=com.ansjer.zccloud/CN=Apple Development IOS Push Services: com.ansjer.zccloud/OU=772N5HXAR2/C=US
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIFiTCCBHGgAwIBAgIIdGAeNPi1q4YwDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMjAwNDI0MDYwODU4WhcNMjEwNDI0MDYwODU4WjCBiDEiMCAGCgmSJomT8ixk
+AQEMEmNvbS5hbnNqZXIuemNjbG91ZDFAMD4GA1UEAww3QXBwbGUgRGV2ZWxvcG1l
+bnQgSU9TIFB1c2ggU2VydmljZXM6IGNvbS5hbnNqZXIuemNjbG91ZDETMBEGA1UE
+CwwKNzcyTjVIWEFSMjELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDQXWXsPbUk9HO3JqA6FbJU7iphv28RK2fEnyryzQPLyp/uGOiV
+uxP7xbOV/3vbEcqSoEvZx4xzMh3xb9LKPpSK1OPr9D+KwbNzh0H7C/n17YdsG6v3
+NWIVsfx6iVK6TUNQYCTvwntao6sij/9ctrLJItBOgwuvne5pHozXLAV49CGHW6Yq
+oAf9hmUCm9WJT/y0aZNlsD1nQUA8vfahBcnDKvEgew53UkAeDTYU9r/TWNWw4r44
+D5momf+vE+rDonUi3gwVrEFRGr+G66CYvGP5F20Xqwlxpw717Oz9gae1fyqkbgEx
+blUq+mv5Xh1yMCmDpeqowVgcyA4Oz1us0OnLAgMBAAGjggHlMIIB4TAJBgNVHRME
+AjAAMB8GA1UdIwQYMBaAFIgnFwmpthhgi+zruvZHWcVSVKO3MIIBDwYDVR0gBIIB
+BjCCAQIwgf8GCSqGSIb3Y2QFATCB8TCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5j
+ZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2Vw
+dGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQg
+Y29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlm
+aWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjApBggrBgEFBQcCARYdaHR0cDov
+L3d3dy5hcHBsZS5jb20vYXBwbGVjYS8wEwYDVR0lBAwwCgYIKwYBBQUHAwIwTQYD
+VR0fBEYwRDBCoECgPoY8aHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vY2VydGlm
+aWNhdGlvbmF1dGhvcml0eS93d2RyY2EuY3JsMB0GA1UdDgQWBBQlVGHaanzNLWoe
+RWSWeksoiRVz1DALBgNVHQ8EBAMCB4AwEAYKKoZIhvdjZAYDAQQCBQAwDQYJKoZI
+hvcNAQEFBQADggEBAMTfpZRXJpz8/1wkWYT2zSxGJcdmtB6oEUmVzjlYod5rDuTl
+yFSJPl/Sy41/anW88UgC231AF3h78q54vdFuQ7rd8ORF3nEDGzib4+7d4QCcguFP
+2Lz27r2goLQhKRIY/isjAUrLFHwcX9hjG9TuhMO+e8a6Vu5gXpXU6/QA1HTqO3ei
+kvfw/MoaAOQuRNofFPNCVO+nOndK61oTHovDcMfU1LG6siJGkVn3VhPAQOd7VbOQ
+eXqd1+LWkBMrJbsdJElKKKl0mQpXHUf4yW2k8Eg2AdZkMOSQKm8IaLXGHzrqg+fk
+sPUfBL2JEaGpAlD56fZYLPRMEdIV4SG8m6BOw4M=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA0F1l7D21JPRztyagOhWyVO4qYb9vEStnxJ8q8s0Dy8qf7hjo
+lbsT+8Wzlf972xHKkqBL2ceMczId8W/Syj6UitTj6/Q/isGzc4dB+wv59e2HbBur
+9zViFbH8eolSuk1DUGAk78J7WqOrIo//XLayySLQToMLr53uaR6M1ywFePQhh1um
+KqAH/YZlApvViU/8tGmTZbA9Z0FAPL32oQXJwyrxIHsOd1JAHg02FPa/01jVsOK+
+OA+ZqJn/rxPqw6J1It4MFaxBURq/huugmLxj+RdtF6sJcacO9ezs/YGntX8qpG4B
+MW5VKvpr+V4dcjApg6XqqMFYHMgODs9brNDpywIDAQABAoIBAF4aMFPXMp40AKaw
+vSA+eEG/JkjrCiA4+C5mrCDn0lURd9UyTqiAyu+kRAz0S12O1WwPFPKQGrBT7A4E
+MLDCPpfMufrwXlouTPtaFMRqjkMxOT3r6WhGJbwinCJDLqeRCVudcFEQBmHTFREQ
+84VNxcTtAiLTME3qB6hV8cmjyfzrg9HgVd/g0/7UmMBlyHeEj8yAbGuTmzndvtYS
+9ADVri+rVo4dVSYo0tlGNmSbz2j+F680ghu8EVqpV1LOOmo54UIWeCqeSY7KskKI
+kLyGZmchUF0AqZnY2/jTJ9DO/opaTFkp6PFwVH4enamWAHFDqKzpj5C8cFnnO55+
+SkdD0LECgYEA9VzVyyyNumOC3I4BHtZ9iGIp7mwrt7lPFDMdtA7MhClI4HCILWcs
+cVahCyphb9u0mpGxZfu2iz6IbiVAsoZL1IiS98xNxn1oarbmqmtHBfu0V0YfprgU
+C26PWO9/5DCwhTD22ZJlKkvy+Yf6NMWgoCkZ7nHbtMsQRgxiQQqoyccCgYEA2WXx
+Fz29tvgy5lw552rD3EIxlxET9EF+Vd3qJCCyVcN0lMzoSBRwHPwJCHNgtSOeV/bn
+KFEfLvslFNCu+AYVpDfm5tEbL+67Xop9XYJZeVe9SKfuy3IGGh+Qo0uDYwQrJwVt
+e+etqL+NuDkjeMs/Toiyc+8/KlkbodWJloL3f90CgYBva+4GasAdsUze3XmyyFKP
+WYyTIfokX3mCwceuWb4UEi9vBItCmwS6n01YpbFDu7DjNGAr4Me/qfEIm9AqggPz
+iuW6s8Np7M87Dr3nC/pfxDLcIxMCgbtQia99Ap3AQUAX6+ldWjaoo36+RDqiNlDA
+CoolFv1ft4s3VC5WPQHzRwKBgCo2DgLaPRzqwk9SNvgFFfSNcb2IVlyF3vbjONQ8
++QOICPnfc3aTaVVnZoWaiXuCZ/tieG2umqRvpTqObnrAC7GwHQhSL7o123G26DKg
+3aie7aTO3qHoCOFHobjjL6apJ4vTFPgK+wAZ+XV8urN4m1kvV58FJDmfxaq9oJJ1
+6YKNAoGAWULDkYaRAklSkM9lGV/OWcBgH/rYZycqwRKaLRdluKoWzYqnpcF5Vj8l
+ENI854Luqo7NpoHfAhyB3TH7CFocTL6BXMO0Naf5q7nmQMqQmcHuPBhyaVCiMXBy
+4aKyiWNMt4Rn54VDbgyYklCZkg3o0kV70yAdWm5blnxnbVpOe+g=
+-----END RSA PRIVATE KEY-----

+ 67 - 0
AnsjerPush/file/apns_pem/zccloud.pem

@@ -0,0 +1,67 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.zccloud
+    localKeyID: 53 D0 A7 6B CF E9 9C 46 ED 44 01 01 01 14 02 52 A6 45 AB C5 
+subject=/UID=com.ansjer.zccloud/CN=Apple Push Services: com.ansjer.zccloud/OU=772N5HXAR2/O=ZOSI Technology Co. , Ltd/C=US
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGJDCCBQygAwIBAgIIMRa6pIbT1IgwDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDc0NDU4WhcNMjAxMjA3MDc0NDU4WjCBnDEiMCAGCgmSJomT8ixk
+AQEMEmNvbS5hbnNqZXIuemNjbG91ZDEwMC4GA1UEAwwnQXBwbGUgUHVzaCBTZXJ2
+aWNlczogY29tLmFuc2plci56Y2Nsb3VkMRMwEQYDVQQLDAo3NzJONUhYQVIyMSIw
+IAYDVQQKDBlaT1NJIFRlY2hub2xvZ3kgQ28uICwgTHRkMQswCQYDVQQGEwJVUzCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOI0TfZ1x5kwSw7/Sdr+oNx
+gPeJxZq7Khib9IvQ5ZW0hqEXgnm9dyDjpAc2FDjL/FzMUtCviJmxQrISW3dzcwtk
+KzY//vlQ58ZhlNVGm6COjzeJKnP2kdmXipzt9kwPK6tfNxhrNFqUXMH889soFL49
+W0AykK/hrUKD++0cIwXed4lRAxXJORePI27ErhRT8+B5yTjLnZOa+4kwwS2RstGi
+oKHTjpVKDZwYuaM072P4QK+fetFv9dl049sM+1oJ7Z0sT5wvWV0l2TLGTkoma+GR
++JCU5GGAmtLyvrcoNlKLw8JGqSBstZbp1dQFA7BAIuyEt+Jxjkzgu4s+2FROvnUC
+AwEAAaOCAmwwggJoMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUiCcXCam2GGCL
+7Ou69kdZxVJUo7cwggEcBgNVHSAEggETMIIBDzCCAQsGCSqGSIb3Y2QFATCB/TCB
+wwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5
+IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGlj
+YWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRp
+ZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1l
+bnRzLjA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNh
+dGVhdXRob3JpdHkwEwYDVR0lBAwwCgYIKwYBBQUHAwIwMAYDVR0fBCkwJzAloCOg
+IYYfaHR0cDovL2NybC5hcHBsZS5jb20vd3dkcmNhLmNybDAdBgNVHQ4EFgQUU9Cn
+a8/pnEbtRAEBARQCUqZFq8UwDgYDVR0PAQH/BAQDAgeAMBAGCiqGSIb3Y2QGAwEE
+AgUAMBAGCiqGSIb3Y2QGAwIEAgUAMH0GCiqGSIb3Y2QGAwYEbzBtDBJjb20uYW5z
+amVyLnpjY2xvdWQwBQwDYXBwDBdjb20uYW5zamVyLnpjY2xvdWQudm9pcDAGDAR2
+b2lwDB9jb20uYW5zamVyLnpjY2xvdWQuY29tcGxpY2F0aW9uMA4MDGNvbXBsaWNh
+dGlvbjANBgkqhkiG9w0BAQsFAAOCAQEAAabdumNJ8xYd/CrhLA2ozqh7GgNW0Os+
+BmGyfxstqlK/jasZ9vIIN8/oVc2Qe4j+2KrN93x1Fhie+1sQN3PcqADwL8NfKyeU
+X8wnomkyAkfogYYxIU0V8eFr+IZoNYFTAWJYK2F8mQKRmUbVzqaSCg+rYk68i/uu
+cQqNB+alxOf92l6sWrOvMm9B4vYcgDyJfN9pNSkTJgtKn2hD9njSGe8+GJX+OqbN
+ys7h2WRBFD2YhQbu8guJTTnHh2g0CtyM2xFyrSCaiSh5BUiYvPLEWfcNkt13nts1
+DQBf16tsmcTP3tkNYroqwF1+IIUNVPX+ndLEor6p6r74xBAO1qlIFQ==
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA04jRN9nXHmTBLDv9J2v6g3GA94nFmrsqGJv0i9DllbSGoReC
+eb13IOOkBzYUOMv8XMxS0K+ImbFCshJbd3NzC2QrNj/++VDnxmGU1UaboI6PN4kq
+c/aR2ZeKnO32TA8rq183GGs0WpRcwfzz2ygUvj1bQDKQr+GtQoP77RwjBd53iVED
+Fck5F48jbsSuFFPz4HnJOMudk5r7iTDBLZGy0aKgodOOlUoNnBi5ozTvY/hAr596
+0W/12XTj2wz7WgntnSxPnC9ZXSXZMsZOSiZr4ZH4kJTkYYCa0vK+tyg2UovDwkap
+IGy1lunV1AUDsEAi7IS34nGOTOC7iz7YVE6+dQIDAQABAoIBAATziOIjyTM+7H6a
+kNxhXKXC/F/O678pblzRGbJEG3ublCMlJ7qtwqIUcfxxOZvyul95sN6NnUbrrUH5
+yAZNv32exJwqd09io2ozUoaDdpUVgSitnz7DoLpVH7t4nnE9UapbOjDqIXmVS26G
++zZAA+xIB2DDTjuvrpyF9lmgdPloJsA3Q+X3nFfNgbt8Z8xGF2xs8a3R/83k8y+F
+UueDV56v/ivIebPULSOsktEQXtKDgYLNIuMXDztJSflTr0M+Uq9qPIs6fQl55ssk
+o7G55vAzlTBlwSWiOSubecAmiyFeWY3E16uVAYcTKXYEjSpFTqAyNjBTElsgSiuh
+kSODACkCgYEA898WP5Edd9tUgJCr0OQcxdCmXhTZI2fcAqEcjfCyxKHRXAzDwrKN
+Dpx5Es+Ymn2bRGoLCYpeXpxHZTnuRakrO8zM34PbCWWul14oAKzB5vn7TRuNJXOE
+HeOeztF8FEao3YAQlmDR8SqgG0+Z0fkU0/668r0nxz87NQhVmryF8csCgYEA3g4G
+AmULfpRebUyNIn+rtyd2R6IqR3S3HYrfZNRcPPN4V6T5hRN9Fbg+xu3HvY4xl2ww
+XTa5Fq48+K+Hahq+VLyG1FCQWKaJkcKwhUsE811SWVqBUDiFiE+t0+xMdiuuWA2+
+WBnxXJuRZjX7Lz3uvyhkPYvg3GGl+gIe2UhTCL8CgYBO/BAOoodyzFzADxs22sre
+3scjbYkuSHMffuLqreyYdviB4bh9lKrO8qrcBtScJNZnABl3C5Oo/OC6zlp3wWS5
+R4mLUv9cOcykReCa51kd4BUeUjAS0ykVLSXAQmT3hDMpGlNFATK981pLvipJsWyn
+hLcz60O46qfYc0yWgzy2pQKBgDZbgncVmzG6Sj9BTQ9T54onW9n/RZBGbwkJVNRO
+8+FrzFrQJNDBy44Ek0GJNaseYt9peZFn8vktX/mUpnZ/43XEzNCuhBdfdS+8VA/d
+JHIatyzubddgbrfGoYvOPY1z9fLSMnVIrH/6CSbXMg0HgSlETv2N/1aThNjlqf2Q
+qdrrAoGBAO7cE80xgQaZxu3x9ZtM4PeiE2thVjdZEGAyQlRyS6BO0iGMGWjpeUZq
+2ZJvm8AurRv7Wtmjf9EsoIJKbnGI3wBH0Sbs8LZ8ksI4Dtcx8UPeqzeUwfM/VQdH
+qARGkCRJD/nBbZIy+sOfBysnYVr099kEoGFW8XA0IoGveVkGv8p9
+-----END RSA PRIVATE KEY-----

+ 64 - 0
AnsjerPush/file/apns_pem/zosidcloud-dev.pem

@@ -0,0 +1,64 @@
+Bag Attributes
+    friendlyName: Apple Development IOS Push Services: com.ansjer.zosidcloud
+    localKeyID: 53 D0 A7 6B CF E9 9C 46 ED 44 01 01 01 14 02 52 A6 45 AB C5 
+subject=/UID=com.ansjer.zosidcloud/CN=Apple Development IOS Push Services: com.ansjer.zosidcloud/OU=66PK439G56/C=CN
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIFjzCCBHegAwIBAgIIAV1gZ5yODtEwDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDgyNTAzWhcNMjAxMTA3MDgyNTAzWjCBjjElMCMGCgmSJomT8ixk
+AQEMFWNvbS5hbnNqZXIuem9zaWRjbG91ZDFDMEEGA1UEAww6QXBwbGUgRGV2ZWxv
+cG1lbnQgSU9TIFB1c2ggU2VydmljZXM6IGNvbS5hbnNqZXIuem9zaWRjbG91ZDET
+MBEGA1UECwwKNjZQSzQzOUc1NjELMAkGA1UEBhMCQ04wggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQDTiNE32dceZMEsO/0na/qDcYD3icWauyoYm/SL0OWV
+tIahF4J5vXcg46QHNhQ4y/xczFLQr4iZsUKyElt3c3MLZCs2P/75UOfGYZTVRpug
+jo83iSpz9pHZl4qc7fZMDyurXzcYazRalFzB/PPbKBS+PVtAMpCv4a1Cg/vtHCMF
+3neJUQMVyTkXjyNuxK4UU/Pgeck4y52TmvuJMMEtkbLRoqCh046VSg2cGLmjNO9j
++ECvn3rRb/XZdOPbDPtaCe2dLE+cL1ldJdkyxk5KJmvhkfiQlORhgJrS8r63KDZS
+i8PCRqkgbLWW6dXUBQOwQCLshLficY5M4LuLPthUTr51AgMBAAGjggHlMIIB4TAJ
+BgNVHRMEAjAAMB8GA1UdIwQYMBaAFIgnFwmpthhgi+zruvZHWcVSVKO3MIIBDwYD
+VR0gBIIBBjCCAQIwgf8GCSqGSIb3Y2QFATCB8TCBwwYIKwYBBQUHAgIwgbYMgbNS
+ZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVz
+IGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJt
+cyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQg
+Y2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjApBggrBgEFBQcCARYd
+aHR0cDovL3d3dy5hcHBsZS5jb20vYXBwbGVjYS8wEwYDVR0lBAwwCgYIKwYBBQUH
+AwIwTQYDVR0fBEYwRDBCoECgPoY8aHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20v
+Y2VydGlmaWNhdGlvbmF1dGhvcml0eS93d2RyY2EuY3JsMB0GA1UdDgQWBBRT0Kdr
+z+mcRu1EAQEBFAJSpkWrxTALBgNVHQ8EBAMCB4AwEAYKKoZIhvdjZAYDAQQCBQAw
+DQYJKoZIhvcNAQEFBQADggEBABYBkephyibIPt7nur9eY0bmqEuPQKNg94ZteOFm
+Fo/8Er9tFYndAqXm7Zr7dhdA9dcL9VYrt+qGAPpOLmfnTPdDXBbB59GXWSrBMio6
+5VU9T3bb/4kVzA54SLbMZAjhgEQDULfYK5KSvDgdJQBJLcQu1OMyNntwrF8Xebmt
+AbpyJcv/HOaaQ2gYC+pQ9ye6eGYEZ9BT0BRp61cXnyiii1sUkOCnaamDWMVKIa2W
+8Ii0k6UIXtS+RIOI9mbN1xKDwIAtjZvldd2AS7802R4Ls1Lklf8tcOlt9VcAN0Xs
+EUf4zCneaB6x/CyjXaqCEmE7mmETNs6UcHNqMv3jJRi1wMI=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA04jRN9nXHmTBLDv9J2v6g3GA94nFmrsqGJv0i9DllbSGoReC
+eb13IOOkBzYUOMv8XMxS0K+ImbFCshJbd3NzC2QrNj/++VDnxmGU1UaboI6PN4kq
+c/aR2ZeKnO32TA8rq183GGs0WpRcwfzz2ygUvj1bQDKQr+GtQoP77RwjBd53iVED
+Fck5F48jbsSuFFPz4HnJOMudk5r7iTDBLZGy0aKgodOOlUoNnBi5ozTvY/hAr596
+0W/12XTj2wz7WgntnSxPnC9ZXSXZMsZOSiZr4ZH4kJTkYYCa0vK+tyg2UovDwkap
+IGy1lunV1AUDsEAi7IS34nGOTOC7iz7YVE6+dQIDAQABAoIBAATziOIjyTM+7H6a
+kNxhXKXC/F/O678pblzRGbJEG3ublCMlJ7qtwqIUcfxxOZvyul95sN6NnUbrrUH5
+yAZNv32exJwqd09io2ozUoaDdpUVgSitnz7DoLpVH7t4nnE9UapbOjDqIXmVS26G
++zZAA+xIB2DDTjuvrpyF9lmgdPloJsA3Q+X3nFfNgbt8Z8xGF2xs8a3R/83k8y+F
+UueDV56v/ivIebPULSOsktEQXtKDgYLNIuMXDztJSflTr0M+Uq9qPIs6fQl55ssk
+o7G55vAzlTBlwSWiOSubecAmiyFeWY3E16uVAYcTKXYEjSpFTqAyNjBTElsgSiuh
+kSODACkCgYEA898WP5Edd9tUgJCr0OQcxdCmXhTZI2fcAqEcjfCyxKHRXAzDwrKN
+Dpx5Es+Ymn2bRGoLCYpeXpxHZTnuRakrO8zM34PbCWWul14oAKzB5vn7TRuNJXOE
+HeOeztF8FEao3YAQlmDR8SqgG0+Z0fkU0/668r0nxz87NQhVmryF8csCgYEA3g4G
+AmULfpRebUyNIn+rtyd2R6IqR3S3HYrfZNRcPPN4V6T5hRN9Fbg+xu3HvY4xl2ww
+XTa5Fq48+K+Hahq+VLyG1FCQWKaJkcKwhUsE811SWVqBUDiFiE+t0+xMdiuuWA2+
+WBnxXJuRZjX7Lz3uvyhkPYvg3GGl+gIe2UhTCL8CgYBO/BAOoodyzFzADxs22sre
+3scjbYkuSHMffuLqreyYdviB4bh9lKrO8qrcBtScJNZnABl3C5Oo/OC6zlp3wWS5
+R4mLUv9cOcykReCa51kd4BUeUjAS0ykVLSXAQmT3hDMpGlNFATK981pLvipJsWyn
+hLcz60O46qfYc0yWgzy2pQKBgDZbgncVmzG6Sj9BTQ9T54onW9n/RZBGbwkJVNRO
+8+FrzFrQJNDBy44Ek0GJNaseYt9peZFn8vktX/mUpnZ/43XEzNCuhBdfdS+8VA/d
+JHIatyzubddgbrfGoYvOPY1z9fLSMnVIrH/6CSbXMg0HgSlETv2N/1aThNjlqf2Q
+qdrrAoGBAO7cE80xgQaZxu3x9ZtM4PeiE2thVjdZEGAyQlRyS6BO0iGMGWjpeUZq
+2ZJvm8AurRv7Wtmjf9EsoIJKbnGI3wBH0Sbs8LZ8ksI4Dtcx8UPeqzeUwfM/VQdH
+qARGkCRJD/nBbZIy+sOfBysnYVr099kEoGFW8XA0IoGveVkGv8p9
+-----END RSA PRIVATE KEY-----

+ 67 - 0
AnsjerPush/file/apns_pem/zosidcloud.pem

@@ -0,0 +1,67 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.zosidcloud
+    localKeyID: 53 D0 A7 6B CF E9 9C 46 ED 44 01 01 01 14 02 52 A6 45 AB C5 
+subject=/UID=com.ansjer.zosidcloud/CN=Apple Push Services: com.ansjer.zosidcloud/OU=66PK439G56/O=side zhang/C=CN
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGJTCCBQ2gAwIBAgIIGmaRz2bBpE8wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMTkxMTA4MDgyNTQ1WhcNMjAxMjA3MDgyNTQ1WjCBkzElMCMGCgmSJomT8ixk
+AQEMFWNvbS5hbnNqZXIuem9zaWRjbG91ZDEzMDEGA1UEAwwqQXBwbGUgUHVzaCBT
+ZXJ2aWNlczogY29tLmFuc2plci56b3NpZGNsb3VkMRMwEQYDVQQLDAo2NlBLNDM5
+RzU2MRMwEQYDVQQKDApzaWRlIHpoYW5nMQswCQYDVQQGEwJDTjCCASI/Users/macmini01/Desktop/黄佑利/pem证书/CocoonHD/CocoonHD-apns-dev.pemwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANOI0TfZ1x5kwSw7/Sdr+oNxgPeJxZq7Khib
+9IvQ5ZW0hqEXgnm9dyDjpAc2FDjL/FzMUtCviJmxQrISW3dzcwtkKzY//vlQ58Zh
+lNVGm6COjzeJKnP2kdmXipzt9kwPK6tfNxhrNFqUXMH889soFL49W0AykK/hrUKD
+++0cIwXed4lRAxXJORePI27ErhRT8+B5yTjLnZOa+4kwwS2RstGioKHTjpVKDZwY
+uaM072P4QK+fetFv9dl049sM+1oJ7Z0sT5wvWV0l2TLGTkoma+GR+JCU5GGAmtLy
+vrcoNlKLw8JGqSBstZbp1dQFA7BAIuyEt+Jxjkzgu4s+2FROvnUCAwEAAaOCAnYw
+ggJyMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUiCcXCam2GGCL7Ou69kdZxVJU
+o7cwggEcBgNVHSAEggETMIIBDzCCAQsGCSqGSIb3Y2QFATCB/TCBwwYIKwYBBQUH
+AgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0
+eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFu
+ZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBv
+bGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA1Bggr
+BgEFBQcCARYpaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3Jp
+dHkwEwYDVR0lBAwwCgYIKwYBBQUHAwIwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDov
+L2NybC5hcHBsZS5jb20vd3dkcmNhLmNybDAdBgNVHQ4EFgQUU9Cna8/pnEbtRAEB
+ARQCUqZFq8UwDgYDVR0PAQH/BAQDAgeAMBAGCiqGSIb3Y2QGAwEEAgUAMBAGCiqG
+SIb3Y2QGAwIEAgUAMIGGBgoqhkiG92NkBgMGBHgwdgwVY29tLmFuc2plci56b3Np
+ZGNsb3VkMAUMA2FwcAwaY29tLmFuc2plci56b3NpZGNsb3VkLnZvaXAwBgwEdm9p
+cAwiY29tLmFuc2plci56b3NpZGNsb3VkLmNvbXBsaWNhdGlvbjAODAxjb21wbGlj
+YXRpb24wDQYJKoZIhvcNAQELBQADggEBAIN90Bvh4NH8riH5t1EwMQ4MSN+KCLyA
+PZ8ZsF2XX4em+Eap7q/4Dp7K+6bC64+A5RsuXqlWk4LDRVdclCTXuHhY5wjLw5iD
+HhnawtVuV9Cqh1naKwYoza+dQzcxwlyUvFVahJjlbB0C/86g1jU6VgMkat32qahA
+7PqF8TmfBAHJ8AwXnKpccvR+eoa2z2GkJBCVkP1DiIaYIUr590Eg5V+aw0UgKW3v
+/cYslnmfTJt1HEp9DiUQmNclD7KYexs53xGOu1ACnWgNf4o3XEabUPNX/RF0S14J
+3hzChlUQ05ntbN10xvuauUvsTF+7kMk8QOgOEcJUKlJTmWCPLCOsyPw=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEA04jRN9nXHmTBLDv9J2v6g3GA94nFmrsqGJv0i9DllbSGoReC
+eb13IOOkBzYUOMv8XMxS0K+ImbFCshJbd3NzC2QrNj/++VDnxmGU1UaboI6PN4kq
+c/aR2ZeKnO32TA8rq183GGs0WpRcwfzz2ygUvj1bQDKQr+GtQoP77RwjBd53iVED
+Fck5F48jbsSuFFPz4HnJOMudk5r7iTDBLZGy0aKgodOOlUoNnBi5ozTvY/hAr596
+0W/12XTj2wz7WgntnSxPnC9ZXSXZMsZOSiZr4ZH4kJTkYYCa0vK+tyg2UovDwkap
+IGy1lunV1AUDsEAi7IS34nGOTOC7iz7YVE6+dQIDAQABAoIBAATziOIjyTM+7H6a
+kNxhXKXC/F/O678pblzRGbJEG3ublCMlJ7qtwqIUcfxxOZvyul95sN6NnUbrrUH5
+yAZNv32exJwqd09io2ozUoaDdpUVgSitnz7DoLpVH7t4nnE9UapbOjDqIXmVS26G
++zZAA+xIB2DDTjuvrpyF9lmgdPloJsA3Q+X3nFfNgbt8Z8xGF2xs8a3R/83k8y+F
+UueDV56v/ivIebPULSOsktEQXtKDgYLNIuMXDztJSflTr0M+Uq9qPIs6fQl55ssk
+o7G55vAzlTBlwSWiOSubecAmiyFeWY3E16uVAYcTKXYEjSpFTqAyNjBTElsgSiuh
+kSODACkCgYEA898WP5Edd9tUgJCr0OQcxdCmXhTZI2fcAqEcjfCyxKHRXAzDwrKN
+Dpx5Es+Ymn2bRGoLCYpeXpxHZTnuRakrO8zM34PbCWWul14oAKzB5vn7TRuNJXOE
+HeOeztF8FEao3YAQlmDR8SqgG0+Z0fkU0/668r0nxz87NQhVmryF8csCgYEA3g4G
+AmULfpRebUyNIn+rtyd2R6IqR3S3HYrfZNRcPPN4V6T5hRN9Fbg+xu3HvY4xl2ww
+XTa5Fq48+K+Hahq+VLyG1FCQWKaJkcKwhUsE811SWVqBUDiFiE+t0+xMdiuuWA2+
+WBnxXJuRZjX7Lz3uvyhkPYvg3GGl+gIe2UhTCL8CgYBO/BAOoodyzFzADxs22sre
+3scjbYkuSHMffuLqreyYdviB4bh9lKrO8qrcBtScJNZnABl3C5Oo/OC6zlp3wWS5
+R4mLUv9cOcykReCa51kd4BUeUjAS0ykVLSXAQmT3hDMpGlNFATK981pLvipJsWyn
+hLcz60O46qfYc0yWgzy2pQKBgDZbgncVmzG6Sj9BTQ9T54onW9n/RZBGbwkJVNRO
+8+FrzFrQJNDBy44Ek0GJNaseYt9peZFn8vktX/mUpnZ/43XEzNCuhBdfdS+8VA/d
+JHIatyzubddgbrfGoYvOPY1z9fLSMnVIrH/6CSbXMg0HgSlETv2N/1aThNjlqf2Q
+qdrrAoGBAO7cE80xgQaZxu3x9ZtM4PeiE2thVjdZEGAyQlRyS6BO0iGMGWjpeUZq
+2ZJvm8AurRv7Wtmjf9EsoIJKbnGI3wBH0Sbs8LZ8ksI4Dtcx8UPeqzeUwfM/VQdH
+qARGkCRJD/nBbZIy+sOfBysnYVr099kEoGFW8XA0IoGveVkGv8p9
+-----END RSA PRIVATE KEY-----

BIN
AnsjerPush/file/font/simhei.ttf


+ 184 - 0
AnsjerPush/file/log type .txt

@@ -0,0 +1,184 @@
+typedef enum _log_type
+{
+	//系统控制(Control)
+	LOG_TYPE_SYSTEM_CTRL		= 0x00010000,
+	LOG_TYPE_BOOT,							//系统开机
+	LOG_TYPE_SHUTDOWN,						//系统关机
+	LOG_TYPE_REBOOT,						//系统重启
+	LOG_TYPE_FORMAT_SUCC,					//格式化磁盘成功
+	LOG_TYPE_FORMAT_FAIL,					//格式化磁盘失败
+	LOG_TYPE_UPGRADE_SUCC,					//升级成功
+	LOG_TYPE_UPGRADE_FAIL,					//升级失败
+	LOG_TYPE_CLEAR_ALARM,					//清除报警
+	LOG_TYPE_OPEN_ALARM,					//开启报警
+	LOG_TYPE_MANUAL_START,					//开启手动录像
+	LOG_TYPE_MANUAL_STOP,					//停止手动录像
+	LOG_TYPE_PTZ_ENTER,						//开始云台控制
+	LOG_TYPE_PTZ_CTRL,						//云台操作
+	LOG_TYPE_PTZ_EXIT,						//结束云台控制
+	LOG_TYPE_AUDIO_CH_CHANGE,				//改变现场音频通道
+	LOG_TYPE_VOLUME_ADJUST,					//调节音量
+	LOG_TYPE_MUTE_ENABLE,					//开启静音
+	LOG_TYPE_MUTE_DISENABLE,				//关闭静音
+	LOG_TYPE_DWELL_ENABLE,					//开启轮循
+	LOG_TYPE_DWELL_DISENABLE,				//关闭轮循
+	LOG_TYPE_LOG_IN,						//登录
+	LOG_TYPE_LOG_OFF,						//登出
+	LOG_TYPE_CHANGE_TIME,					//修改系统时间
+	LOG_TYPE_MANUAL_SNAP_SUCC,               //手动抓图成功
+	LOG_TYPE_MANUAL_SNAP_FAIL,               //手动抓图失败
+
+	//系统配置(Setup)
+	LOG_TYPE_CONFIG			= 0x00020000,
+	LOG_TYPE_CHGE_VIDEO_FORMAT,				//改变视频制式
+	LOG_TYPE_CHGE_VGA_RESOLUTION,			//改变显示器分辨率
+	LOG_TYPE_CHGE_LANGUAGE,					//调整语言
+	LOG_TYPE_CHGE_NET_USER_NUM,				//调整网络用户数目
+	LOG_TYPE_CHGE_TIME_ZONE,				//调整时区
+	LOG_TYPE_NTP_MANUAL,					//手动网络校时
+	LOG_TYPE_NTP_ON,						//开启自动网络校时
+	LOG_TYPE_NTP_OFF,						//关闭自动网络校时
+	LOG_TYPE_CHGE_NTP_SERVER,				//修改网络时间服务器地址
+	LOG_TYPE_CHGE_DST,						//调整夏令时设置
+	LOG_TYPE_PASSWD_ON,						//开启操作密码
+	LOG_TYPE_PASSWD_OFF,					//关闭操作密码
+
+	LOG_TYPE_CHGE_CAM_NAME,					//调整通道名称
+	LOG_TYPE_MODIFY_COLOR,					//调整图像色彩
+	LOG_TYPE_CHGE_HOST_MONITOR,				//调整主监视器画面设置
+	LOG_TYPE_CHGE_SPOT,						//调整辅助输出画面设置
+	LOG_TYPE_CHGE_OSD,						//调整字符叠加设置
+
+	LOG_TYPE_CHGE_LOCAL_ENCODE,				//调整录像流编码参数
+	LOG_TYPE_CHGE_REC_VIDEO_SWITCH,			//调整录像开关设置
+	LOG_TYPE_CHGE_REC_AUDIO_SWITCH,			//调整录制音频开关设置
+	LOG_TYPE_CHGE_REC_REDU_SWITCH,			//调整冗余录像开关设置
+	LOG_TYPE_CHGE_REC_PRE_TIME,				//调整景前录像时间
+	LOG_TYPE_CHGE_REC_POST_TIME,			//调整景后录像时间
+	LOG_TYPE_CHGE_REC_HOLD_TIME,			//调整录像数据过期时间
+
+	LOG_TYPE_CHGE_SCH_SCHEDULE,				//调整定时录像计划
+	LOG_TYPE_CHGE_SCH_MOTION,				//调整移动侦测录像计划
+	LOG_TYPE_CHGE_SCH_ALARM,				//调整报警录像计划
+
+	LOG_TYPE_CHGE_SENSOR_SWITCH,			//调整报警输入开关设置
+	LOG_TYPE_CHGE_SENSOR_TYPE,				//调整报警输入设备类型
+	LOG_TYPE_CHGE_SENSOR_TRIGGER,			//调整报警输入处理方式设置
+	LOG_TYPE_CHGE_SENSOR_SCH,				//调整报警输入侦测计划
+
+	LOG_TYPE_CHGE_MOTION_SWITCH,			//调整移动侦测开关设置
+	LOG_TYPE_CHGE_MOTION_SENS,				//调整移动侦测灵敏度
+	LOG_TYPE_CHGE_MOTION_AREA,				//调整移动侦测区域设置
+	LOG_TYPE_CHGE_MOTION_TRIGGER,			//调整移动侦测处理方式
+	LOG_TYPE_CHGE_MOTION_SCH,				//调整移动侦测计划
+
+	LOG_TYPE_CHGE_VL_TRIGGER,				//调整视频丢失处理方式设置
+
+	LOG_TYPE_CHGE_RELAY_SWITCH,				//调整报警输出开关设置
+	LOG_TYPE_CHGE_RELAY_SCH,				//调整报警输出计划
+
+	LOG_TYPE_BUZZER_ON,						//开启声音报警设备
+	LOG_TYPE_BUZZER_OFF,					//关闭声音报警设备
+	LOG_TYPE_CHGE_BUZZER_SCH,				//调整声音报警计划
+
+	LOG_TYPE_CHGE_HTTP_PORT,				//修改HTTP服务器端口
+	LOG_TYPE_CHGE_SER_PORT,					//修改网络服务器端口
+	LOG_TYPE_CHGE_IP,						//设置网络地址
+	LOG_TYPE_DHCP_SUCC,						//自动获取网络地址成功
+	LOG_TYPE_DHCP_FAIL,						//自动获取网络地址失败
+	LOG_TYPE_CHGE_PPPOE,					//设置PPPoE
+	LOG_TYPE_CHGE_DDNS,						//设置DDNS
+	LOG_TYPE_NET_STREAM_CFG,				//调整网络流编码设置
+
+	LOG_TYPE_CHGE_SERIAL,					//调整云台串口设置
+	LOG_TYPE_PRESET_MODIFY,					//调整预置点
+	LOG_TYPE_CRUISE_MODIFY,					//调整巡航线
+	LOG_TYPE_TRACK_MODIFY,					//调整轨迹
+
+	LOG_TYPE_USER_ADD,						//增加用户
+	LOG_TYPE_USER_MODIFY,					//调整用户权限
+	LOG_TYPE_USER_DELETE,					//删除用户
+	LOG_TYPE_CHANGE_PASSWD,					//修改用户密码
+
+	LOG_TYPE_LOAD_DEFAULT,					//恢复默认配置
+	LOG_TYPE_IMPORT_CONFIG,					//导入配置
+	LOG_TYPE_EXPORT_CONFIG,					//导出配置
+
+	LOG_TYPE_CHGE_IMAGE_MASK,				//图像遮挡
+	LOG_TYPE_RECYCLE_REC_ON,				//开启循环录像
+	LOG_TYPE_RECYCLE_REC_OFF,				//关闭循环录像
+	LOG_TYPE_CHGE_DISK_ALARM,				//调整磁盘报警空间
+
+	LOG_TYPE_CHGE_SEND_EMAIL,				//设置Email 发送人信息
+	LOG_TYPE_CHGE_RECV_EMAIL,				//设置Email 接收人信息
+	LOG_TYPE_CHGE_SNAP_SETTING,             //调整抓图配置
+
+	//yqf add 2017.12.22
+	LOG_TYPE_CHGE_SCH_PIR,					//调整人体红外感应录像计划
+	LOG_TYPE_CHGE_PIR_SWITCH,				//调整人体红外感应开关设置
+	LOG_TYPE_CHGE_PIR_TRIGGER,				//调整人体红外感应处理方式
+	LOG_TYPE_CHGE_PIR_SCH,					//调整人体红外感应计划
+
+	//录像回放(Playback)
+	LOG_TYPE_PLAYBACK		= 0x00040000,
+	LOG_TYPE_PLAYBACK_PLAY,					//播放
+	LOG_TYPE_PLAYBACK_PAUSE,				//暂停
+	LOG_TYPE_PLAYBACK_RESUME,				//恢复播放
+	LOG_TYPE_PLAYBACK_FF,					//快进
+	LOG_TYPE_PLAYBACK_REW,					//快退
+	LOG_TYPE_PLAYBACK_STOP,					//停止
+	LOG_TYPE_PLAYBACK_NEXT_SECTION,			//下一段
+	LOG_TYPE_PLAYBACK_PREV_SECTION,			//上一段
+
+	//数据备份(Backup)
+	LOG_TYPE_BACKUP			= 0x00080000,
+	LOG_TYPE_BACKUP_START,					//开始备份
+	LOG_TYPE_BACKUP_COMPLETE,				//备份完成
+	LOG_TYPE_BACKUP_CANCEL,					//放弃备份
+	LOG_TYPE_BACKUP_FAIL,					//备份失败
+
+	//录像检索(Search)
+	LOG_TYPE_SEARCH			= 0x00100000,
+	LOG_TYPE_SEARCH_TIME,					//按时间检索
+	LOG_TYPE_SEARCH_EVENT,					//按事件检索
+	LOG_TYPE_SEARCH_FILE_MAN,				//文件管理
+	LOG_TYPE_DELETE_FILE,					//删除文件
+	LOG_TYPE_LOCK_FILE,						//锁定文件
+	LOG_TYPE_UNLOCK_FILE,					//解锁文件
+	LOG_TYPE_DELETE_PICTURE,                //删除图片
+	LOG_TYPE_LOCK_PICTURE,                  //锁定图片
+	LOG_TYPE_UNLOCK_PICTURE,                //解锁图片
+
+
+	//查看信息(View information)
+	LOG_TYPE_VIEW_INFO		= 0x00200000,
+	LOG_TYPE_VIEW_SYSTEM,					//查看系统信息
+	LOG_TYPE_VIEW_EVENT,					//查看事件
+	LOG_TYPE_VIEW_LOG,						//查看日志
+	LOG_TYPE_VIEW_NETWORK,					//查看网络状态
+	LOG_TYPE_VIEW_ONLINE_USER,				//查看在线用户
+	LOG_TYPE_VIEW_EXPORT_LOG,				//导出日志
+	LOG_TYPE_VIEW_EXPORT_EVENT,				//导出事件
+
+	//异常信息(Error)
+	LOG_TYPE_ERROR_INFO		= 0x00400000,
+	LOG_TYPE_IP_CONFLICT,					//网络地址冲突
+	LOG_TYPE_NETWORK_ERR,					//网络异常
+	LOG_TYPE_DDNS_ERR,						//DDNS错误
+	LOG_TYPE_DISK_IO_ERR,					//磁盘读写错误
+	LOG_TYPE_UNKNOWN_OFF,					//异常断电
+	LOG_TYPE_UNKNOWN_ERR,					//未知错误
+	LOG_TYPE_ERR_9A9A9A9A,
+	LOG_TYPE_ERR_9A000001,
+	LOG_TYPE_ERR_9A000002,
+	LOG_TYE_DISK_WARNING,                  //磁盘衰减报警
+	LOG_TYE_DISK_DISCONNECT,                  //磁盘掉线报警
+	//LOG_TYE_DISK_NOTFIND,					//开机无硬盘
+
+    LOG_TYPE_EVENT            = 0x00800000,   //事件信息
+    LOG_TYPE_EVENT_MOTION     = 0x00800001,
+    LOG_TYPE_EVENT_SENSOR     = 0x00800002,
+    LOG_TYPE_EVENT_VIDEO_LOSS = 0x00800004,
+    LOG_TYPE_EVENT_COVER      = 0x00800008,
+    LOG_TYPE_EVENT_PIR		  = 0x00800010,   //yqf add 2017.12.26
+}LOG_TYPE;

+ 69 - 0
AnsjerPush/file/后台管理系统说明.txt

@@ -0,0 +1,69 @@
+一.修改记录
+创建时间: 2017/10/25 版本: 1.0
+
+二.项目说明
+	1.架构概述
+		1).现有模块 :  用户模块(包括用户设备共享模块)  设备信息模块 OTA模块 Token验证模块
+		2).整体说明 :                                  OTA模块
+		                                                 ↗ 
+														 
+			用户注册 -> 用户登录  -> Token验证模块 
+
+				 ↓		          ↓                     ↘
+			 用户模块       用户模块             设备信息模块
+		3).各个模块明细说明
+			1. 用户模块: 
+				用户信息处理模块:用户基本操作
+					用户注册:包括获取验证码,然后通过验证注册用户
+					用户登录:返回Token信息给后续验证用户安全性
+					用户信息完善:修改完善用户个人信息
+					用户修改密码:修改用户密码
+					用户重置密码:重置密码(使用邮箱进行重置)
+					显示用户信息:显示本用户当前信息
+					显示所有用户信息:只有管理员与超级管理员可以调用,显示所有的用户信息
+					用户启用、禁用:只有管理员与超级管理员可以调用,启用、禁用设备用户
+				
+				用户设备共享模块:共享用户设备
+					搜索用户:通过用户的信息搜索用户自身另外的账号
+					共享用户设备:主用户把设备共享给搜索到用户(可以共享一台设备,也可以全部等设备)
+					取消用户设备:主用户取消之前共享给其他账号的设备(可以取消共享一台设备,也可以全部等设备)
+					
+			2.Token验证模块:
+				token获取:在登录时调用获取Token
+				token验证:解密access token,验证有效期,如果有效可以继续访问接口,无效返回错误信息
+				token更新:解密refresh token,验证有效性,如果有效并且没有过期就更新access token,然后返回access token,或者返回错误信息
+				token错误信息:通过上面三个接口返回的错误码,解析出来token错误信息,并返回提示用户
+				
+			3.设备信息模块
+				添加设备信息:添加新设备信息
+				查询设备信息:查询本账户名下所有设备信息
+				修改设备信息:修改本账户名下的相应设备信息
+				删除设备信息:删除本账户名下相应设备信息
+				显示所有用户设备信息:只有管理员与超级管理员可以调用,显示所有的用户名下所有设备信息
+			
+			4.OTA模块
+				升级文件上传:上传升级文件(根据文件名称保存到相应的文件夹下)
+				添加版本信息:把上传的升级文件信息更新到数据库表里面
+				获取最新版本信息:通过输入要查询的设备信息,返回查询到该设备最新版本
+				获取最新版本url链接:通过输入要查询的设备信息,返回查询到该设备升级文件的下载链接
+				下载升级文件:通过获取的url下载升级文件
+
+			5.批量处理模块
+				设备信息批量导入:2种内容格式txt格式, 2种调用Excel文件导入方式
+				
+			6.权限模块
+				模型设计:用户、角色、权限,用户 → 多对多 ← 角色, 用户 → 多对多 ← 权限,角色 → 多对多 ← 权限
+			7.日志模块
+			    中间件middle入口进行统计入库,利用nginx自带module进行统计(更精确)
+			8.APP版本信息模块
+			    对应app版本更新,检测版本详细信息
+			9.语言包模块
+			    所有响应信息增加中英适配
+			10.
+
+
+django常用命令
+python3 mangage.py makemigrations
+python3 manage.py migrate --fake
+python3 manage.py sqlmigrate
+python3 manage.py runserver 0.0.0.0:8222

BIN
AnsjerPush/file/表文档.doc


+ 6 - 6
AnsjerPush/formal_config.py

@@ -125,22 +125,22 @@ FCM_CONFIG = {
 
 APNS_CONFIG = {
     'com.ansjer.loocamccloud': {
-        'pem_path': 'Ansjer/file/apns_pem/lcc.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/lcc.pem',
     },
     'com.ansjer.zosidcloud': {
-        'pem_path': 'Ansjer/file/apns_pem/zosidcloud.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/zosidcloud.pem',
     },
     'com.ansjer.customizedb': {
-        'pem_path': 'Ansjer/file/apns_pem/customizedb.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/customizedb.pem',
     },
     'com.ansjer.customizeda': {
-        'pem_path': 'Ansjer/file/apns_pem/customizeda.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/customizeda.pem',
     },
     'com.ansjer.zccloud': {
-        'pem_path': 'Ansjer/file/apns_pem/zccloud.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/zccloud.pem',
     },
     'com.ansjer.accloud': {
-        'pem_path': 'Ansjer/file/apns_pem/accloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/accloud-dev.pem',
     }
 }
 APNS_MODE = 'prod'

+ 6 - 6
AnsjerPush/local_config.py

@@ -125,22 +125,22 @@ FCM_CONFIG = {
 
 APNS_CONFIG = {
     'com.ansjer.loocamccloud': {
-        'pem_path': 'Ansjer/file/apns_pem/lcc-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/lcc-dev.pem',
     },
     'com.ansjer.zosidcloud': {
-        'pem_path': 'Ansjer/file/apns_pem/zosidcloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/zosidcloud-dev.pem',
     },
     'com.ansjer.customizedb': {
-        'pem_path': 'Ansjer/file/apns_pem/customizedb-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/customizedb-dev.pem',
     },
     'com.ansjer.customizeda': {
-        'pem_path': 'Ansjer/file/apns_pem/customizeda-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/customizeda-dev.pem',
     },
     'com.ansjer.zccloud': {
-        'pem_path': 'Ansjer/file/apns_pem/zccloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/zccloud-dev.pem',
     },
     'com.ansjer.accloud': {
-        'pem_path': 'Ansjer/file/apns_pem/accloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/accloud-dev.pem',
     }
 }
 APNS_MODE = 'dev'

+ 6 - 6
AnsjerPush/test_config.py

@@ -123,22 +123,22 @@ FCM_CONFIG = {
 
 APNS_CONFIG = {
     'com.ansjer.loocamccloud': {
-        'pem_path': 'Ansjer/file/apns_pem/lcc-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/lcc-dev.pem',
     },
     'com.ansjer.zosidcloud': {
-        'pem_path': 'Ansjer/file/apns_pem/zosidcloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/zosidcloud-dev.pem',
     },
     'com.ansjer.customizedb': {
-        'pem_path': 'Ansjer/file/apns_pem/customizedb-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/customizedb-dev.pem',
     },
     'com.ansjer.customizeda': {
-        'pem_path': 'Ansjer/file/apns_pem/customizeda-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/customizeda-dev.pem',
     },
     'com.ansjer.zccloud': {
-        'pem_path': 'Ansjer/file/apns_pem/zccloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/zccloud-dev.pem',
     },
     'com.ansjer.accloud': {
-        'pem_path': 'Ansjer/file/apns_pem/accloud-dev.pem',
+        'pem_path': 'AnsjerPush/file/apns_pem/accloud-dev.pem',
     }
 }
 APNS_MODE = 'dev'