protected function retrieveCertificate($certificateId)
    {
        // Retrieve from cache if a cache handler has been set.
        $cacheKey = 'store-receipt-validate.windowsstore.' . $certificateId;
        $certificate = $this->cache !== null ? $this->cache->get($cacheKey) : null;

        if ($certificate === null) {
            $maxCertificateSize = 10000;

            // We are attempting to retrieve the following url. The getAppReceiptAsync website at
            // http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.store.currentapp.getappreceiptasync.aspx
            // lists the following format for the certificate url.
            $certificateUrl = '/fwlink/?LinkId=246509&cid=' . $certificateId;

            // Make an HTTP GET request for the certificate.
            $client = new \GuzzleHttp\Client(['base_uri' => 'https://go.microsoft.com']);
            $response = $client->request('GET', $certificateUrl);

            // Retrieve the certificate out of the response.
            $certificate = $response->getBody();

            // Write back to cache.
            if ($this->cache !== null) {
                $this->cache->put($cacheKey, $certificate, 3600);
            }
        }

        return openssl_x509_read($certificate);
    }
protected function retrieveCertificate($certificateId)
    {
        // Retrieve from cache if a cache handler has been set.
        $cacheKey = 'store-receipt-validate.windowsstore.' . $certificateId;
        $certificate = $this->cache !== null ? $this->cache->get($cacheKey) : null;

        if ($certificate === null) {
            $maxCertificateSize = 10000;

            // We are attempting to retrieve the following url. The getAppReceiptAsync website at
            // http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.store.currentapp.getappreceiptasync.aspx
            // lists the following format for the certificate url.
            $certificateUrl = '/fwlink/?LinkId=246509&cid=' . $certificateId;

            // Make an HTTP GET request for the certificate.
            $client = new \GuzzleHttp\Client(['base_uri' => 'https://go.microsoft.com']);
            $response = $client->request('GET', $certificateUrl);

            // Retrieve the certificate out of the response.
            $certificate = $response->getBody();

            // Write back to cache.
            if ($this->cache !== null) {
                $this->cache->put($cacheKey, $certificate, 3600);
            }
        }

        return openssl_x509_read($certificate);
    }
protected function retrieveCertificate ( $ certificateId ) { // Retrieve from cache if a cache handler has been set. $ cacheKey = 'store-receipt-validate.windowsstore.' . $ certificateId ; $ certificate = $ this -> cache !== null ? $ this -> cache -> get ( $ cacheKey ) : null ; if ( $ certificate === null ) { $ maxCertificateSize = 10000 ; // We are attempting to retrieve the following url. The getAppReceiptAsync website at // http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.store.currentapp.getappreceiptasync.aspx // lists the following format for the certificate url. $ certificateUrl = '/fwlink/?LinkId=246509&cid=' . $ certificateId ; // Make an HTTP GET request for the certificate. $ client = new \ GuzzleHttp \ Client ( [ 'base_uri' => 'https://go.microsoft.com' ] ) ; $ response = $ client -> request ( 'GET' , $ certificateUrl ) ; // Retrieve the certificate out of the response. $ certificate = $ response -> getBody ( ) ; // Write back to cache. if ( $ this -> cache !== null ) { $ this -> cache -> put ( $ cacheKey , $ certificate , 3600 ) ; } } return openssl_x509_read ( $ certificate ) ; }
Load the certificate with the given ID.

@param string $certificateId
@return resource
Load the certificate with the given ID .