├── README.md ├── composer.json ├── composer.lock ├── extras ├── docroot.sublime-snippet └── php.ini ├── images ├── badge.png └── icon.png ├── index.php ├── mysw.js ├── scripts └── main.js ├── send_push_notification.php └── vendor ├── autoload.php ├── beberlei └── assert │ ├── LICENSE │ ├── composer.json │ └── lib │ └── Assert │ ├── Assert.php │ ├── Assertion.php │ ├── AssertionChain.php │ ├── AssertionFailedException.php │ ├── InvalidArgumentException.php │ ├── LazyAssertion.php │ ├── LazyAssertionException.php │ └── functions.php ├── composer ├── ClassLoader.php ├── LICENSE ├── autoload_classmap.php ├── autoload_files.php ├── autoload_namespaces.php ├── autoload_psr4.php ├── autoload_real.php ├── autoload_static.php └── installed.json ├── fgrosse └── phpasn1 │ ├── .coveralls.yml │ ├── .gitignore │ ├── .styleci.yml │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── composer.lock │ ├── examples │ ├── Issue14.php │ ├── Issue29.php │ ├── Issue43.php │ ├── Issue57.php │ ├── allClasses.php │ ├── common.css │ ├── getObjectIdentifier.php │ ├── hexdump.php │ ├── index.html │ ├── parseBinary.php │ ├── readmeExample.php │ └── shared.php │ ├── lib │ ├── ASN1 │ │ ├── AbstractString.php │ │ ├── AbstractTime.php │ │ ├── Base128.php │ │ ├── Composite │ │ │ ├── AttributeTypeAndValue.php │ │ │ ├── RDNString.php │ │ │ └── RelativeDistinguishedName.php │ │ ├── Construct.php │ │ ├── Exception │ │ │ ├── NotImplementedException.php │ │ │ └── ParserException.php │ │ ├── ExplicitlyTaggedObject.php │ │ ├── Identifier.php │ │ ├── OID.php │ │ ├── Object.php │ │ ├── Parsable.php │ │ ├── TemplateParser.php │ │ ├── Universal │ │ │ ├── BMPString.php │ │ │ ├── BitString.php │ │ │ ├── Boolean.php │ │ │ ├── CharacterString.php │ │ │ ├── Enumerated.php │ │ │ ├── GeneralString.php │ │ │ ├── GeneralizedTime.php │ │ │ ├── GraphicString.php │ │ │ ├── IA5String.php │ │ │ ├── Integer.php │ │ │ ├── Null.php │ │ │ ├── NullObject.php │ │ │ ├── NumericString.php │ │ │ ├── ObjectDescriptor.php │ │ │ ├── ObjectIdentifier.php │ │ │ ├── OctetString.php │ │ │ ├── PrintableString.php │ │ │ ├── RelativeObjectIdentifier.php │ │ │ ├── Sequence.php │ │ │ ├── Set.php │ │ │ ├── T61String.php │ │ │ ├── UTCTime.php │ │ │ ├── UTF8String.php │ │ │ ├── UniversalString.php │ │ │ └── VisibleString.php │ │ ├── UnknownConstructedObject.php │ │ └── UnknownObject.php │ └── X509 │ │ ├── AlgorithmIdentifier.php │ │ ├── CSR │ │ ├── Attributes.php │ │ └── CSR.php │ │ ├── CertificateExtensions.php │ │ ├── CertificateSubject.php │ │ ├── PrivateKey.php │ │ ├── PublicKey.php │ │ └── SAN │ │ ├── DNSName.php │ │ ├── IPAddress.php │ │ └── SubjectAlternativeNames.php │ ├── phpunit.xml.dist │ └── tests │ ├── ASN1 │ ├── Base128Test.php │ ├── Composite │ │ └── RelativeDistinguishedNameTest.php │ ├── ExplicitlyTaggedObjectTest.php │ ├── IdentifierTest.php │ ├── ObjectTest.php │ ├── TemplateParserTest.php │ └── Universal │ │ ├── BMPStringTest.php │ │ ├── BitStringTest.php │ │ ├── BooleanTest.php │ │ ├── CharacterStringTest.php │ │ ├── EnumeratedTest.php │ │ ├── GeneralStringTest.php │ │ ├── GeneralizedTimeTest.php │ │ ├── GraphicStringTest.php │ │ ├── IA5StringTest.php │ │ ├── IntegerTest.php │ │ ├── NullObjectTest.php │ │ ├── NumericStringTest.php │ │ ├── ObjectDescriptorTest.php │ │ ├── ObjectIdentifierTest.php │ │ ├── OctetStringTest.php │ │ ├── PrintableStringTest.php │ │ ├── RelativeObjectIdentifierTest.php │ │ ├── SequenceTest.php │ │ ├── SetTest.php │ │ ├── T61StringTest.php │ │ ├── UTCTimeTest.php │ │ ├── UTF8StringTest.php │ │ ├── UniversalStringTest.php │ │ └── VisibleStringTest.php │ ├── ASN1TestCase.php │ ├── DocumentationExamplesTest.php │ └── X509 │ ├── CSR │ └── AttributesTest.php │ ├── CertificateExtensionTest.php │ ├── CertificateSubjectTest.php │ ├── DNSNameTest.php │ ├── IPAddressTest.php │ └── SubjectAlternativeNamesTest.php ├── guzzlehttp ├── guzzle │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── UPGRADING.md │ ├── composer.json │ └── src │ │ ├── Client.php │ │ ├── ClientInterface.php │ │ ├── Cookie │ │ ├── CookieJar.php │ │ ├── CookieJarInterface.php │ │ ├── FileCookieJar.php │ │ ├── SessionCookieJar.php │ │ └── SetCookie.php │ │ ├── Exception │ │ ├── BadResponseException.php │ │ ├── ClientException.php │ │ ├── ConnectException.php │ │ ├── GuzzleException.php │ │ ├── RequestException.php │ │ ├── SeekException.php │ │ ├── ServerException.php │ │ ├── TooManyRedirectsException.php │ │ └── TransferException.php │ │ ├── Handler │ │ ├── CurlFactory.php │ │ ├── CurlFactoryInterface.php │ │ ├── CurlHandler.php │ │ ├── CurlMultiHandler.php │ │ ├── EasyHandle.php │ │ ├── MockHandler.php │ │ ├── Proxy.php │ │ └── StreamHandler.php │ │ ├── HandlerStack.php │ │ ├── MessageFormatter.php │ │ ├── Middleware.php │ │ ├── Pool.php │ │ ├── PrepareBodyMiddleware.php │ │ ├── RedirectMiddleware.php │ │ ├── RequestOptions.php │ │ ├── RetryMiddleware.php │ │ ├── TransferStats.php │ │ ├── UriTemplate.php │ │ ├── functions.php │ │ └── functions_include.php ├── promises │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── composer.json │ └── src │ │ ├── AggregateException.php │ │ ├── CancellationException.php │ │ ├── Coroutine.php │ │ ├── EachPromise.php │ │ ├── FulfilledPromise.php │ │ ├── Promise.php │ │ ├── PromiseInterface.php │ │ ├── PromisorInterface.php │ │ ├── RejectedPromise.php │ │ ├── RejectionException.php │ │ ├── TaskQueue.php │ │ ├── TaskQueueInterface.php │ │ ├── functions.php │ │ └── functions_include.php └── psr7 │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── composer.json │ └── src │ ├── AppendStream.php │ ├── BufferStream.php │ ├── CachingStream.php │ ├── DroppingStream.php │ ├── FnStream.php │ ├── InflateStream.php │ ├── LazyOpenStream.php │ ├── LimitStream.php │ ├── MessageTrait.php │ ├── MultipartStream.php │ ├── NoSeekStream.php │ ├── PumpStream.php │ ├── Request.php │ ├── Response.php │ ├── ServerRequest.php │ ├── Stream.php │ ├── StreamDecoratorTrait.php │ ├── StreamWrapper.php │ ├── UploadedFile.php │ ├── Uri.php │ ├── UriNormalizer.php │ ├── UriResolver.php │ ├── functions.php │ └── functions_include.php ├── mdanter └── ecc │ ├── .gitignore │ ├── .scrutinizer.yml │ ├── .travis.yml │ ├── Makefile │ ├── README.md │ ├── composer.json │ ├── doc │ ├── release-notes-0.4.1.md │ ├── release-notes-0.4.2.md │ └── release-notes-0.4.md │ ├── examples │ ├── creating_signature.php │ ├── ecdh_exchange.php │ ├── key_generation.php │ └── verify_signature.php │ ├── phpunit.xml │ ├── src │ ├── Crypto │ │ ├── EcDH │ │ │ ├── EcDH.php │ │ │ └── EcDHInterface.php │ │ ├── Key │ │ │ ├── PrivateKey.php │ │ │ ├── PrivateKeyInterface.php │ │ │ ├── PublicKey.php │ │ │ └── PublicKeyInterface.php │ │ └── Signature │ │ │ ├── Signature.php │ │ │ ├── SignatureInterface.php │ │ │ └── Signer.php │ ├── Curves │ │ ├── CurveFactory.php │ │ ├── NamedCurveFp.php │ │ ├── NistCurve.php │ │ └── SecgCurve.php │ ├── EccFactory.php │ ├── Math │ │ ├── DebugDecorator.php │ │ ├── GmpMath.php │ │ ├── GmpMathInterface.php │ │ ├── MathAdapterFactory.php │ │ ├── ModularArithmetic.php │ │ └── NumberTheory.php │ ├── Primitives │ │ ├── CurveFp.php │ │ ├── CurveFpInterface.php │ │ ├── CurveParameters.php │ │ ├── GeneratorPoint.php │ │ ├── Point.php │ │ └── PointInterface.php │ ├── Random │ │ ├── DebugDecorator.php │ │ ├── HmacRandomNumberGenerator.php │ │ ├── RandomGeneratorFactory.php │ │ ├── RandomNumberGenerator.php │ │ └── RandomNumberGeneratorInterface.php │ ├── Serializer │ │ ├── Point │ │ │ ├── CompressedPointSerializer.php │ │ │ ├── PointSerializerInterface.php │ │ │ └── UncompressedPointSerializer.php │ │ ├── PrivateKey │ │ │ ├── DerPrivateKeySerializer.php │ │ │ ├── PemPrivateKeySerializer.php │ │ │ └── PrivateKeySerializerInterface.php │ │ ├── PublicKey │ │ │ ├── Der │ │ │ │ ├── Formatter.php │ │ │ │ └── Parser.php │ │ │ ├── DerPublicKeySerializer.php │ │ │ ├── PemPublicKeySerializer.php │ │ │ └── PublicKeySerializerInterface.php │ │ ├── Signature │ │ │ ├── Der │ │ │ │ ├── Formatter.php │ │ │ │ └── Parser.php │ │ │ └── DerSignatureSerializer.php │ │ └── Util │ │ │ └── CurveOidMapper.php │ └── Util │ │ ├── BinaryString.php │ │ └── NumberSize.php │ └── tests │ ├── bootstrap.php │ ├── data │ ├── compression.json │ ├── generated-keypair.pem │ ├── openssl-priv.key │ ├── openssl-priv.pem │ ├── openssl-pub.key │ ├── openssl-pub.pem │ ├── primes.lst │ └── square_root_mod_p.json │ ├── specs │ ├── nist-p192.yml │ ├── nist-p224.yml │ ├── nist-p256.yml │ ├── nist-p384.yml │ ├── nist-p521.yml │ ├── secp-112r1.yml │ ├── secp-256k1.yml │ ├── secp-256r1.yml │ └── secp-384r1.yml │ ├── unit │ ├── AbstractTestCase.php │ ├── Crypto │ │ ├── EcDH │ │ │ ├── EcDHTest.php │ │ │ └── EcDhMultiPartyTest.php │ │ ├── Key │ │ │ ├── PrivateKeyTest.php │ │ │ └── PublicKeyTest.php │ │ └── Signature │ │ │ ├── SignatureTest.php │ │ │ └── SignerTest.php │ ├── Curves │ │ ├── CurveFactoryTest.php │ │ ├── NamedCurveFpTest.php │ │ ├── NistCurveTest.php │ │ ├── SecCurveTest.php │ │ ├── Secp112r1EcdsaTest.php │ │ └── SpecBasedCurveTest.php │ ├── Math │ │ ├── MathTest.php │ │ └── NumberTheoryTest.php │ ├── Primitives │ │ ├── CurveFpTest.php │ │ ├── CurveParametersTest.php │ │ ├── EcArithmeticTest.php │ │ └── PointTest.php │ ├── Random │ │ ├── HmacRandomNumberGeneratorTest.php │ │ └── RandomGeneratorFactoryTest.php │ ├── Serializer │ │ ├── Point │ │ │ ├── CompressedPointSerializerTest.php │ │ │ └── UncompressedPointSerializerTest.php │ │ ├── PrivateKey │ │ │ ├── DerPrivateKeySerializerTest.php │ │ │ └── PemPrivateKeySerializerTest.php │ │ ├── PublicKey │ │ │ ├── DerPublicKeySerializerTest.php │ │ │ └── PemPublicKeySerializerTest.php │ │ ├── Signature │ │ │ └── DerSignatureSerializerTest.php │ │ └── Util │ │ │ └── CurveOidMapperTest.php │ └── Util │ │ └── NumberSizeTest.php │ └── validate_examples.sh ├── minishlink └── web-push │ ├── .gitignore │ ├── .travis.yml │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE.md │ ├── LICENSE │ ├── README.md │ ├── composer.json │ ├── phpunit.dist.xml │ ├── phpunit.travis.xml │ ├── src │ ├── Encryption.php │ ├── Notification.php │ ├── Utils.php │ ├── VAPID.php │ └── WebPush.php │ └── tests │ ├── EncryptionTest.php │ ├── PushServiceTest.php │ ├── VAPIDTest.php │ └── WebPushTest.php ├── paragonie └── random_compat │ ├── LICENSE │ ├── build-phar.sh │ ├── composer.json │ ├── dist │ ├── random_compat.phar.pubkey │ └── random_compat.phar.pubkey.asc │ ├── lib │ ├── byte_safe_strings.php │ ├── cast_to_int.php │ ├── error_polyfill.php │ ├── random.php │ ├── random_bytes_com_dotnet.php │ ├── random_bytes_dev_urandom.php │ ├── random_bytes_libsodium.php │ ├── random_bytes_libsodium_legacy.php │ ├── random_bytes_mcrypt.php │ └── random_int.php │ ├── other │ └── build_phar.php │ ├── psalm-autoload.php │ └── psalm.xml ├── psr ├── cache │ ├── CHANGELOG.md │ ├── LICENSE.txt │ ├── README.md │ ├── composer.json │ └── src │ │ ├── CacheException.php │ │ ├── CacheItemInterface.php │ │ ├── CacheItemPoolInterface.php │ │ └── InvalidArgumentException.php └── http-message │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── composer.json │ └── src │ ├── MessageInterface.php │ ├── RequestInterface.php │ ├── ResponseInterface.php │ ├── ServerRequestInterface.php │ ├── StreamInterface.php │ ├── UploadedFileInterface.php │ └── UriInterface.php ├── spomky-labs ├── aes-key-wrap │ ├── LICENSE │ ├── composer.json │ └── src │ │ ├── A128KW.php │ │ ├── A192KW.php │ │ ├── A256KW.php │ │ ├── AESKW.php │ │ ├── EncryptorInterface.php │ │ └── OpenSSLEncryptor.php ├── base64url │ ├── LICENSE │ ├── composer.json │ └── src │ │ └── Base64Url.php ├── jose │ ├── LICENSE │ ├── composer.json │ └── src │ │ ├── Algorithm │ │ ├── ContentEncryption │ │ │ ├── A128CBCHS256.php │ │ │ ├── A128GCM.php │ │ │ ├── A192CBCHS384.php │ │ │ ├── A192GCM.php │ │ │ ├── A256CBCHS512.php │ │ │ ├── A256GCM.php │ │ │ ├── AESCBCHS.php │ │ │ └── AESGCM.php │ │ ├── ContentEncryptionAlgorithmInterface.php │ │ ├── JWAInterface.php │ │ ├── JWAManager.php │ │ ├── JWAManagerInterface.php │ │ ├── KeyEncryption │ │ │ ├── A128GCMKW.php │ │ │ ├── A128KW.php │ │ │ ├── A192GCMKW.php │ │ │ ├── A192KW.php │ │ │ ├── A256GCMKW.php │ │ │ ├── A256KW.php │ │ │ ├── AESGCMKW.php │ │ │ ├── AESKW.php │ │ │ ├── Dir.php │ │ │ ├── DirectEncryptionInterface.php │ │ │ ├── ECDHES.php │ │ │ ├── ECDHESA128KW.php │ │ │ ├── ECDHESA192KW.php │ │ │ ├── ECDHESA256KW.php │ │ │ ├── ECDHESAESKW.php │ │ │ ├── KeyAgreementInterface.php │ │ │ ├── KeyAgreementWrappingInterface.php │ │ │ ├── KeyEncryptionInterface.php │ │ │ ├── KeyWrappingInterface.php │ │ │ ├── PBES2AESKW.php │ │ │ ├── PBES2HS256A128KW.php │ │ │ ├── PBES2HS384A192KW.php │ │ │ ├── PBES2HS512A256KW.php │ │ │ ├── RSA.php │ │ │ ├── RSA15.php │ │ │ ├── RSAOAEP.php │ │ │ └── RSAOAEP256.php │ │ ├── KeyEncryptionAlgorithmInterface.php │ │ ├── Signature │ │ │ ├── ECDSA.php │ │ │ ├── ES256.php │ │ │ ├── ES384.php │ │ │ ├── ES512.php │ │ │ ├── EdDSA.php │ │ │ ├── HMAC.php │ │ │ ├── HS256.php │ │ │ ├── HS384.php │ │ │ ├── HS512.php │ │ │ ├── None.php │ │ │ ├── PS256.php │ │ │ ├── PS384.php │ │ │ ├── PS512.php │ │ │ ├── RS256.php │ │ │ ├── RS384.php │ │ │ ├── RS512.php │ │ │ └── RSA.php │ │ └── SignatureAlgorithmInterface.php │ │ ├── Behaviour │ │ ├── CommonCipheringMethods.php │ │ ├── CommonSigningMethods.php │ │ ├── EncrypterTrait.php │ │ ├── HasCompressionManager.php │ │ ├── HasJWAManager.php │ │ └── HasKeyChecker.php │ │ ├── Checker │ │ ├── AudienceChecker.php │ │ ├── CheckerManager.php │ │ ├── CheckerManagerInterface.php │ │ ├── ClaimCheckerInterface.php │ │ ├── CriticalHeaderChecker.php │ │ ├── ExpirationTimeChecker.php │ │ ├── HeaderCheckerInterface.php │ │ ├── IssuedAtChecker.php │ │ ├── IssuerChecker.php │ │ ├── JtiChecker.php │ │ ├── NotBeforeChecker.php │ │ └── SubjectChecker.php │ │ ├── Compression │ │ ├── CompressionInterface.php │ │ ├── CompressionManager.php │ │ ├── CompressionManagerInterface.php │ │ ├── Deflate.php │ │ ├── GZip.php │ │ └── ZLib.php │ │ ├── Decrypter.php │ │ ├── DecrypterInterface.php │ │ ├── Encrypter.php │ │ ├── EncrypterInterface.php │ │ ├── Factory │ │ ├── AlgorithmManagerFactory.php │ │ ├── CheckerManagerFactory.php │ │ ├── CompressionManagerFactory.php │ │ ├── JWEFactory.php │ │ ├── JWEFactoryInterface.php │ │ ├── JWKFactory.php │ │ ├── JWKFactoryInterface.php │ │ ├── JWSFactory.php │ │ └── JWSFactoryInterface.php │ │ ├── JWTCreator.php │ │ ├── JWTCreatorInterface.php │ │ ├── JWTLoader.php │ │ ├── JWTLoaderInterface.php │ │ ├── KeyConverter │ │ ├── ECKey.php │ │ ├── KeyConverter.php │ │ └── RSAKey.php │ │ ├── Loader.php │ │ ├── LoaderInterface.php │ │ ├── Object │ │ ├── BaseJWKSet.php │ │ ├── DownloadedJWKSet.php │ │ ├── JKUJWKSet.php │ │ ├── JWE.php │ │ ├── JWEInterface.php │ │ ├── JWK.php │ │ ├── JWKInterface.php │ │ ├── JWKSet.php │ │ ├── JWKSetInterface.php │ │ ├── JWKSetPEM.php │ │ ├── JWKSets.php │ │ ├── JWKSetsInterface.php │ │ ├── JWS.php │ │ ├── JWSInterface.php │ │ ├── JWT.php │ │ ├── JWTInterface.php │ │ ├── PublicJWKSet.php │ │ ├── Recipient.php │ │ ├── RecipientInterface.php │ │ ├── RotatableInterface.php │ │ ├── RotatableJWKSet.php │ │ ├── Signature.php │ │ ├── SignatureInterface.php │ │ ├── Storable.php │ │ ├── StorableInterface.php │ │ ├── StorableJWK.php │ │ ├── StorableJWKSet.php │ │ └── X5UJWKSet.php │ │ ├── Signer.php │ │ ├── SignerInterface.php │ │ ├── Util │ │ ├── BigInteger.php │ │ ├── ConcatKDF.php │ │ ├── Hash.php │ │ ├── JWELoader.php │ │ ├── JWSLoader.php │ │ └── RSA.php │ │ ├── Verifier.php │ │ └── VerifierInterface.php └── php-aes-gcm │ ├── LICENSE │ ├── composer.json │ └── src │ └── AESGCM.php └── symfony ├── polyfill-mbstring ├── LICENSE ├── Mbstring.php ├── README.md ├── Resources │ └── unidata │ │ ├── lowerCase.php │ │ └── upperCase.php ├── bootstrap.php └── composer.json └── polyfill-php70 ├── LICENSE ├── Php70.php ├── README.md ├── Resources └── stubs │ ├── ArithmeticError.php │ ├── AssertionError.php │ ├── DivisionByZeroError.php │ ├── Error.php │ ├── ParseError.php │ └── TypeError.php ├── bootstrap.php └── composer.json /README.md: -------------------------------------------------------------------------------- 1 | # php_push_demo 2 | a demo of how to setup push notification in xampp with php 3 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "minishlink/web-push": "^1.4" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /extras/docroot.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | '; 14 | echo \$spath.'
'; 15 | echo \$servroot.'
'; 16 | echo \$hostroot.'
'; 17 | echo \$hpath; 18 | echo \$fname.'
'; 19 | echo \$name.'
'; exit;*/ 20 | ]]>
21 | 22 | php:docroot 23 | 24 | 25 | 26 | 27 |
28 | -------------------------------------------------------------------------------- /images/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mksmith1a/php_push_demo/168d0e1ad8297cdff314db16612bdf7ebecc4d8e/images/badge.png -------------------------------------------------------------------------------- /images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mksmith1a/php_push_demo/168d0e1ad8297cdff314db16612bdf7ebecc4d8e/images/icon.png -------------------------------------------------------------------------------- /mysw.js: -------------------------------------------------------------------------------- 1 | //this code was lifted from : https://developers.google.com/web/fundamentals/getting-started/codelabs/push-notifications/ 2 | //add i believe it belongs to GOOGLE 3 | 'use strict'; 4 | 5 | self.addEventListener('push', function(event) { 6 | console.log('[Service Worker] Push Received.'); 7 | console.log(`[Service Worker] Push had this data: `); 8 | console.log(JSON.parse(event.data.text()));//modified from tutorial to make it more dynamic 9 | const notificationObject = JSON.parse(event.data.text());//modified from tutorial to make it more dynamic 10 | 11 | const title = notificationObject.title;//modified from tutorial to make it more dynamic 12 | const options = { 13 | body: notificationObject.msg, 14 | icon: notificationObject.icon, 15 | badge: notificationObject.badge 16 | }; 17 | self.notificationURL = notificationObject.url;//modified from tutorial to make it more dynamic 18 | event.waitUntil(self.registration.showNotification(title, options)); 19 | }); 20 | 21 | self.addEventListener('notificationclick', function(event) { 22 | console.log('[Service Worker] Notification click Received.'); 23 | //console.log(self.notificationURL); 24 | event.notification.close(); 25 | 26 | event.waitUntil( 27 | clients.openWindow(self.notificationURL)//modified from tutorial to make it more dynamic 28 | ); 29 | }); -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | =5.3", 27 | "ext-mbstring": "*" 28 | }, 29 | "require-dev": { 30 | "friendsofphp/php-cs-fixer": "^2.1.1", 31 | "phpunit/phpunit": "^4|^5" 32 | }, 33 | "autoload": { 34 | "psr-4": { 35 | "Assert\\": "lib/Assert" 36 | }, 37 | "files": [ 38 | "lib/Assert/functions.php" 39 | ] 40 | }, 41 | "autoload-dev": { 42 | "psr-4": { 43 | "Assert\\Tests\\": "tests/Assert/Tests" 44 | }, 45 | "files": [ 46 | "tests/Assert/Tests/Fixtures/functions.php" 47 | ] 48 | }, 49 | "scripts": { 50 | "assert:generate-docs": "php bin/generate_method_docs.php", 51 | "assert:cs-lint": "php-cs-fixer fix --diff -vvv --dry-run", 52 | "assert:cs-fix": "php-cs-fixer fix . -vvv || true" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /vendor/beberlei/assert/lib/Assert/AssertionFailedException.php: -------------------------------------------------------------------------------- 1 | getPropertyPath(), $error->getMessage()); 36 | } 37 | 38 | return new static($message, $errors); 39 | } 40 | 41 | public function __construct($message, array $errors) 42 | { 43 | parent::__construct($message, 0, null, null); 44 | 45 | $this->errors = $errors; 46 | } 47 | 48 | public function getErrorExceptions() 49 | { 50 | return $this->errors; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /vendor/composer/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) Nils Adermann, Jordi Boggiano 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is furnished 9 | to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /vendor/composer/autoload_classmap.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php', 10 | 'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php', 11 | 'DivisionByZeroError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php', 12 | 'Error' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/Error.php', 13 | 'ParseError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ParseError.php', 14 | 'TypeError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/TypeError.php', 15 | ); 16 | -------------------------------------------------------------------------------- /vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/beberlei/assert/lib/Assert/functions.php', 10 | '5255c38a0faeba867671b61dfda6d864' => $vendorDir . '/paragonie/random_compat/lib/random.php', 11 | '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', 12 | '023d27dca8066ef29e6739335ea73bad' => $vendorDir . '/symfony/polyfill-php70/bootstrap.php', 13 | 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 14 | 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', 15 | '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', 16 | ); 17 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/symfony/polyfill-php70'), 10 | 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 11 | 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), 12 | 'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'), 13 | 'Minishlink\\WebPush\\' => array($vendorDir . '/minishlink/web-push/src'), 14 | 'Mdanter\\Ecc\\' => array($vendorDir . '/mdanter/ecc/src'), 15 | 'Jose\\' => array($vendorDir . '/spomky-labs/jose/src'), 16 | 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'), 17 | 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'), 18 | 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), 19 | 'FG\\' => array($vendorDir . '/fgrosse/phpasn1/lib'), 20 | 'Base64Url\\' => array($vendorDir . '/spomky-labs/base64url/src'), 21 | 'Assert\\' => array($vendorDir . '/beberlei/assert/lib/Assert'), 22 | 'AESKW\\' => array($vendorDir . '/spomky-labs/aes-key-wrap/src'), 23 | 'AESGCM\\' => array($vendorDir . '/spomky-labs/php-aes-gcm/src'), 24 | ); 25 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/.coveralls.yml: -------------------------------------------------------------------------------- 1 | src_dir: lib 2 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/.gitignore: -------------------------------------------------------------------------------- 1 | # Project and backup files 2 | *~ 3 | *.project 4 | .settings/* 5 | .idea 6 | 7 | # Composer 8 | vendor 9 | 10 | # Test coverage reports 11 | clover.xml 12 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/.styleci.yml: -------------------------------------------------------------------------------- 1 | preset: symfony 2 | 3 | linting: true 4 | 5 | disabled: 6 | - empty_return 7 | - phpdoc_align 8 | - blankline_after_open_tag 9 | - pre_increment 10 | - return 11 | - unalign_equals 12 | - unalign_double_arrow 13 | - phpdoc_separation 14 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | sudo: false 3 | 4 | php: 5 | - 5.6 6 | - 7 7 | - hhvm 8 | 9 | cache: 10 | directories: 11 | - vendor 12 | 13 | before_script: 14 | - composer install 15 | 16 | script: 17 | - vendor/bin/phpunit --coverage-clover build/logs/clover.xml 18 | 19 | after_script: 20 | # code coverage currently does not seem to be supported on travis php 7 or hhvm 21 | - vendor/bin/coveralls --verbose 22 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | #### v.1.5.2 (2016-10-29) 2 | * allow empty octet strings 3 | 4 | #### v.1.5.1 (2015-10-02) 5 | * add keywords to composer.json (this is a version on its own so the keywords are found on a stable version at packagist.org) 6 | 7 | #### v.1.5.0 (2015-10-30) 8 | * fix a bug that would prevent you from decoding context specific tags on multiple objects [#57](https://github.com/fgrosse/PHPASN1/issues/57) 9 | - `ExplicitlyTaggedObject::__construct` does now accept multiple objects to be tagged with a single tag 10 | - `ExplicitlyTaggedObject::getContent` will now always return an array (even if only one object is tagged) 11 | 12 | #### v.1.4.2 (2015-09-29) 13 | * fix a bug that would prevent you from decoding empty tagged objects [#57](https://github.com/fgrosse/PHPASN1/issues/57) 14 | 15 | #### v.1.4.1 16 | * improve exception messages and general error handling [#55](https://github.com/fgrosse/PHPASN1/pull/55) 17 | 18 | #### v.1.4.0 19 | * **require PHP 5.6** 20 | * support big integers (closes #1 and #37) 21 | * enforce one code style via [styleci.io][9] 22 | * track code coverage via [coveralls.io][10] 23 | * replace obsolete `FG\ASN1\Exception\GeneralException` with `\Exception` 24 | * `Construct` (`Sequence`, `Set`) does now implement `ArrayAccess`, `Countable` and `Iterator` so its easier to use 25 | * add [`TemplateParser`][11] 26 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2015 Friedrich Große 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/examples/Issue29.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | use FG\ASN1\Object; 12 | 13 | require_once __DIR__.'/../vendor/autoload.php'; 14 | require_once 'shared.php'; 15 | 16 | $hex = 'a02b302906092a864886f70d01090e311c301a30180603551d110411300f820d636f72766573706163652e6465'; 17 | $asn = Object::fromBinary(hex2bin($hex)); 18 | 19 | printObject($asn); 20 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/examples/common.css: -------------------------------------------------------------------------------- 1 | table { 2 | border-collapse: collapse; 3 | } 4 | 5 | th { 6 | text-align: left; 7 | } 8 | 9 | td { 10 | border-top: black 1px solid; 11 | padding-right: 30px; 12 | } 13 | 14 | td.ASNclass { 15 | font-weight: bold; 16 | width: 150px; 17 | } 18 | 19 | td.openSSL { 20 | border-left: black 1px solid; 21 | } 22 | 23 | p.notice { 24 | margin-bottom: 30px; 25 | color: gray; 26 | } 27 | 28 | .red { 29 | color: red; 30 | } 31 | 32 | .monospace { 33 | font-family: monospace; 34 | } 35 | 36 | pre { 37 | margin: 7px 38 | } 39 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/examples/getObjectIdentifier.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | require_once __DIR__.'/../vendor/autoload.php'; 12 | 13 | use FG\ASN1\OID; 14 | 15 | function echoOIDRow($oidString) 16 | { 17 | $oidName = OID::getName($oidString); 18 | echo "{$oidString}{$oidName}"; 19 | } 20 | 21 | ?> 22 | 23 | 24 | 25 | 26 | PHPASN1 Examples 27 | 28 | 29 | 30 | 31 | 32 | 33 | 38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/examples/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PHPASN1 Examples 6 | 7 | 8 | 9 | 10 | Currently the following examples are available: 11 | 16 | 17 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/examples/readmeExample.php: -------------------------------------------------------------------------------- 1 | getBinary(); 30 | $myBinary .= $set->getBinary(); 31 | 32 | echo base64_encode($myBinary); 33 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/examples/shared.php: -------------------------------------------------------------------------------- 1 | 0) { 11 | $treeSymbol = '├'; 12 | } 13 | 14 | $name = Identifier::getShortName($object->getType()); 15 | echo "{$treeSymbol}{$depthString}{$name} : "; 16 | 17 | echo $object->__toString().PHP_EOL; 18 | 19 | $content = $object->getContent(); 20 | if (is_array($content)) { 21 | foreach ($object as $child) { 22 | printObject($child, $depth + 1); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Composite/AttributeTypeAndValue.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Composite; 12 | 13 | use FG\ASN1\Object; 14 | use FG\ASN1\Universal\Sequence; 15 | use FG\ASN1\Universal\ObjectIdentifier; 16 | 17 | class AttributeTypeAndValue extends Sequence 18 | { 19 | /** 20 | * @param ObjectIdentifier|string $objIdentifier 21 | * @param \FG\ASN1\Object $value 22 | */ 23 | public function __construct($objIdentifier, Object $value) 24 | { 25 | if ($objIdentifier instanceof ObjectIdentifier == false) { 26 | $objIdentifier = new ObjectIdentifier($objIdentifier); 27 | } 28 | parent::__construct($objIdentifier, $value); 29 | } 30 | 31 | public function __toString() 32 | { 33 | return $this->children[0].': '.$this->children[1]; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Composite/RDNString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Composite; 12 | 13 | use FG\ASN1\Universal\PrintableString; 14 | use FG\ASN1\Universal\IA5String; 15 | use FG\ASN1\Universal\UTF8String; 16 | 17 | class RDNString extends RelativeDistinguishedName 18 | { 19 | /** 20 | * @param string|\FG\ASN1\Universal\ObjectIdentifier $objectIdentifierString 21 | * @param string|\FG\ASN1\Object $value 22 | */ 23 | public function __construct($objectIdentifierString, $value) 24 | { 25 | if (PrintableString::isValid($value)) { 26 | $value = new PrintableString($value); 27 | } else { 28 | if (IA5String::isValid($value)) { 29 | $value = new IA5String($value); 30 | } else { 31 | $value = new UTF8String($value); 32 | } 33 | } 34 | 35 | parent::__construct($objectIdentifierString, $value); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Exception/NotImplementedException.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Exception; 12 | 13 | class NotImplementedException extends \Exception 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Exception/ParserException.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Exception; 12 | 13 | class ParserException extends \Exception 14 | { 15 | private $errorMessage; 16 | private $offset; 17 | 18 | public function __construct($errorMessage, $offset) 19 | { 20 | $this->errorMessage = $errorMessage; 21 | $this->offset = $offset; 22 | parent::__construct("ASN.1 Parser Exception at offset {$this->offset}: {$this->errorMessage}"); 23 | } 24 | 25 | public function getOffset() 26 | { 27 | return $this->offset; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Parsable.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1; 12 | 13 | use FG\ASN1\Exception\ParserException; 14 | 15 | /** 16 | * The Parsable interface describes classes that can be parsed from their binary DER representation. 17 | */ 18 | interface Parsable 19 | { 20 | /** 21 | * Parse an instance of this class from its binary DER encoded representation. 22 | * 23 | * @param string $binaryData 24 | * @param int $offsetIndex the offset at which parsing of the $binaryData is started. This parameter ill be modified 25 | * to contain the offset index of the next object after this object has been parsed 26 | * 27 | * @throws ParserException if the given binary data is either invalid or not currently supported 28 | * 29 | * @return static 30 | */ 31 | public static function fromBinary(&$binaryData, &$offsetIndex = null); 32 | } 33 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/BMPString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class BMPString extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 BMP String. 20 | * 21 | * BMPString is a subtype of UniversalString that has its own 22 | * unique tag and contains only the characters in the 23 | * Basic Multilingual Plane (those corresponding to the first 24 | * 64K-2 cells, less cells whose encoding is used to address 25 | * characters outside the Basic Multilingual Plane) of ISO/IEC 10646-1. 26 | * 27 | * TODO The encodable characters of this type are not yet checked. 28 | * 29 | * @param string $string 30 | */ 31 | public function __construct($string) 32 | { 33 | $this->value = $string; 34 | $this->allowAll(); 35 | } 36 | 37 | public function getType() 38 | { 39 | return Identifier::BMP_STRING; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/CharacterString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class CharacterString extends AbstractString 17 | { 18 | public function __construct($string) 19 | { 20 | $this->value = $string; 21 | $this->allowAll(); 22 | } 23 | 24 | public function getType() 25 | { 26 | return Identifier::CHARACTER_STRING; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/Enumerated.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\Identifier; 14 | 15 | class Enumerated extends Integer 16 | { 17 | public function getType() 18 | { 19 | return Identifier::ENUMERATED; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/GeneralString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class GeneralString extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 GeneralString. 20 | * TODO The encodable characters of this type are not yet checked. 21 | * 22 | * @param string $string 23 | */ 24 | public function __construct($string) 25 | { 26 | $this->value = $string; 27 | $this->allowAll(); 28 | } 29 | 30 | public function getType() 31 | { 32 | return Identifier::GENERAL_STRING; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/GraphicString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class GraphicString extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 Graphic String. 20 | * TODO The encodable characters of this type are not yet checked. 21 | * 22 | * @param string $string 23 | */ 24 | public function __construct($string) 25 | { 26 | $this->value = $string; 27 | $this->allowAll(); 28 | } 29 | 30 | public function getType() 31 | { 32 | return Identifier::GRAPHIC_STRING; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/IA5String.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | /** 17 | * The International Alphabet No.5 (IA5) references the encoding of the ASCII characters. 18 | * 19 | * Each character in the data is encoded as 1 byte. 20 | */ 21 | class IA5String extends AbstractString 22 | { 23 | public function __construct($string) 24 | { 25 | parent::__construct($string); 26 | for ($i = 1; $i < 128; $i++) { 27 | $this->allowCharacter(chr($i)); 28 | } 29 | } 30 | 31 | public function getType() 32 | { 33 | return Identifier::IA5_STRING; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/Null.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | /** 14 | * @deprecated Deprecated for future PHP 7 compatibility. Use {@link NullObject} instead. 15 | */ 16 | class Null extends NullObject 17 | { 18 | } 19 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/NumericString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class NumericString extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 NumericString. 20 | * 21 | * The following characters are permitted: 22 | * Digits 0,1, ... 9 23 | * SPACE (space) 24 | * 25 | * @param string $string 26 | */ 27 | public function __construct($string) 28 | { 29 | $this->value = $string; 30 | $this->allowNumbers(); 31 | $this->allowSpaces(); 32 | } 33 | 34 | public function getType() 35 | { 36 | return Identifier::NUMERIC_STRING; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/ObjectDescriptor.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\Identifier; 14 | 15 | class ObjectDescriptor extends GraphicString 16 | { 17 | public function __construct($objectDescription) 18 | { 19 | parent::__construct($objectDescription); 20 | } 21 | 22 | public function getType() 23 | { 24 | return Identifier::OBJECT_DESCRIPTOR; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/Sequence.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\Construct; 14 | use FG\ASN1\Parsable; 15 | use FG\ASN1\Identifier; 16 | 17 | class Sequence extends Construct implements Parsable 18 | { 19 | public function getType() 20 | { 21 | return Identifier::SEQUENCE; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/Set.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\Identifier; 14 | 15 | class Set extends Sequence 16 | { 17 | public function getType() 18 | { 19 | return Identifier::SET; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/T61String.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class T61String extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 T61 String. 20 | * TODO The encodable characters of this type are not yet checked. 21 | * 22 | * @see http://en.wikipedia.org/wiki/ITU_T.61 23 | * 24 | * @param string $string 25 | */ 26 | public function __construct($string) 27 | { 28 | $this->value = $string; 29 | $this->allowAll(); 30 | } 31 | 32 | public function getType() 33 | { 34 | return Identifier::T61_STRING; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTF8String.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class UTF8String extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 Universal String. 20 | * TODO The encodable characters of this type are not yet checked. 21 | * 22 | * @param string $string 23 | */ 24 | public function __construct($string) 25 | { 26 | $this->value = $string; 27 | $this->allowAll(); 28 | } 29 | 30 | public function getType() 31 | { 32 | return Identifier::UTF8_STRING; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/UniversalString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class UniversalString extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 Universal String. 20 | * TODO The encodable characters of this type are not yet checked. 21 | * 22 | * @see http://en.wikipedia.org/wiki/Universal_Character_Set 23 | * 24 | * @param string $string 25 | */ 26 | public function __construct($string) 27 | { 28 | $this->value = $string; 29 | $this->allowAll(); 30 | } 31 | 32 | public function getType() 33 | { 34 | return Identifier::UNIVERSAL_STRING; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/ASN1/Universal/VisibleString.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\ASN1\Universal; 12 | 13 | use FG\ASN1\AbstractString; 14 | use FG\ASN1\Identifier; 15 | 16 | class VisibleString extends AbstractString 17 | { 18 | /** 19 | * Creates a new ASN.1 Visible String. 20 | * TODO The encodable characters of this type are not yet checked. 21 | * 22 | * @param string $string 23 | */ 24 | public function __construct($string) 25 | { 26 | $this->value = $string; 27 | $this->allowAll(); 28 | } 29 | 30 | public function getType() 31 | { 32 | return Identifier::VISIBLE_STRING; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/X509/AlgorithmIdentifier.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\X509; 12 | 13 | use FG\ASN1\Universal\NullObject; 14 | use FG\ASN1\Composite\AttributeTypeAndValue; 15 | 16 | class AlgorithmIdentifier extends AttributeTypeAndValue 17 | { 18 | public function __construct($objectIdentifierString) 19 | { 20 | parent::__construct($objectIdentifierString, new NullObject()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/X509/PrivateKey.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\X509; 12 | 13 | use FG\ASN1\OID; 14 | use FG\ASN1\Universal\NullObject; 15 | use FG\ASN1\Universal\Sequence; 16 | use FG\ASN1\Universal\BitString; 17 | use FG\ASN1\Universal\ObjectIdentifier; 18 | 19 | class PrivateKey extends Sequence 20 | { 21 | /** 22 | * @param string $hexKey 23 | * @param \FG\ASN1\Object|string $algorithmIdentifierString 24 | */ 25 | public function __construct($hexKey, $algorithmIdentifierString = OID::RSA_ENCRYPTION) 26 | { 27 | parent::__construct( 28 | new Sequence( 29 | new ObjectIdentifier($algorithmIdentifierString), 30 | new NullObject() 31 | ), 32 | new BitString($hexKey) 33 | ); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/X509/PublicKey.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\X509; 12 | 13 | use FG\ASN1\OID; 14 | use FG\ASN1\Universal\NullObject; 15 | use FG\ASN1\Universal\Sequence; 16 | use FG\ASN1\Universal\BitString; 17 | use FG\ASN1\Universal\ObjectIdentifier; 18 | 19 | class PublicKey extends Sequence 20 | { 21 | /** 22 | * @param string $hexKey 23 | * @param \FG\ASN1\Object|string $algorithmIdentifierString 24 | */ 25 | public function __construct($hexKey, $algorithmIdentifierString = OID::RSA_ENCRYPTION) 26 | { 27 | parent::__construct( 28 | new Sequence( 29 | new ObjectIdentifier($algorithmIdentifierString), 30 | new NullObject() 31 | ), 32 | new BitString($hexKey) 33 | ); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/lib/X509/SAN/DNSName.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\X509\SAN; 12 | 13 | use FG\ASN1\Universal\GeneralString; 14 | 15 | class DNSName extends GeneralString 16 | { 17 | const IDENTIFIER = 0x82; // not sure yet why this is the identifier used in SAN extensions 18 | 19 | public function __construct($dnsNameString) 20 | { 21 | parent::__construct($dnsNameString); 22 | } 23 | 24 | public function getType() 25 | { 26 | return self::IDENTIFIER; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | ./tests 16 | 17 | 18 | 19 | 20 | 21 | ./ 22 | 23 | ./tests 24 | ./examples 25 | ./vendor 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /vendor/fgrosse/phpasn1/tests/ASN1/Composite/RelativeDistinguishedNameTest.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | namespace FG\Test\ASN1\Composite; 12 | 13 | use FG\Test\ASN1TestCase; 14 | use FG\ASN1\OID; 15 | use FG\ASN1\Identifier; 16 | use FG\ASN1\Universal\UTF8String; 17 | use FG\ASN1\Composite\RelativeDistinguishedName; 18 | 19 | class RelativeDistinguishedNameTest extends ASN1TestCase 20 | { 21 | public function testGetType() 22 | { 23 | $object = new RelativeDistinguishedName(OID::COMMON_NAME, new UTF8String('Friedrich Große')); 24 | $this->assertEquals(Identifier::SET, $object->getType()); 25 | } 26 | 27 | public function testGetIdentifier() 28 | { 29 | $object = new RelativeDistinguishedName(OID::COMMON_NAME, new UTF8String('Friedrich Große')); 30 | $this->assertEquals(chr(Identifier::SET), $object->getIdentifier()); 31 | } 32 | 33 | public function testContent() 34 | { 35 | $oid = OID::COMMON_NAME; 36 | $string = 'Friedrich Große'; 37 | $object = new RelativeDistinguishedName($oid, new UTF8String($string)); 38 | 39 | $this->assertEquals(OID::getName($oid).": {$string}", $object->getContent()); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2016 Michael Dowling, https://github.com/mtdowling 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "guzzlehttp/guzzle", 3 | "type": "library", 4 | "description": "Guzzle is a PHP HTTP client library", 5 | "keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"], 6 | "homepage": "http://guzzlephp.org/", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Michael Dowling", 11 | "email": "mtdowling@gmail.com", 12 | "homepage": "https://github.com/mtdowling" 13 | } 14 | ], 15 | "require": { 16 | "php": ">=5.5", 17 | "guzzlehttp/psr7": "^1.4", 18 | "guzzlehttp/promises": "^1.0" 19 | }, 20 | "require-dev": { 21 | "ext-curl": "*", 22 | "phpunit/phpunit": "^4.0 || ^5.0", 23 | "psr/log": "^1.0" 24 | }, 25 | "autoload": { 26 | "files": ["src/functions_include.php"], 27 | "psr-4": { 28 | "GuzzleHttp\\": "src/" 29 | } 30 | }, 31 | "autoload-dev": { 32 | "psr-4": { 33 | "GuzzleHttp\\Tests\\": "tests/" 34 | } 35 | }, 36 | "suggest": { 37 | "psr/log": "Required for using the Log middleware" 38 | }, 39 | "extra": { 40 | "branch-alias": { 41 | "dev-master": "6.2-dev" 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php: -------------------------------------------------------------------------------- 1 | stream = $stream; 16 | $msg = $msg ?: 'Could not seek the stream to position ' . $pos; 17 | parent::__construct($msg); 18 | } 19 | 20 | /** 21 | * @return StreamInterface 22 | */ 23 | public function getStream() 24 | { 25 | return $this->stream; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/src/Exception/ServerException.php: -------------------------------------------------------------------------------- 1 | factory = isset($options['handle_factory']) 29 | ? $options['handle_factory'] 30 | : new CurlFactory(3); 31 | } 32 | 33 | public function __invoke(RequestInterface $request, array $options) 34 | { 35 | if (isset($options['delay'])) { 36 | usleep($options['delay'] * 1000); 37 | } 38 | 39 | $easy = $this->factory->create($request, $options); 40 | curl_exec($easy->handle); 41 | $easy->errno = curl_errno($easy->handle); 42 | 43 | return CurlFactory::finish($this, $easy, $this->factory); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/src/functions_include.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/promises/Makefile: -------------------------------------------------------------------------------- 1 | all: clean test 2 | 3 | test: 4 | vendor/bin/phpunit 5 | 6 | coverage: 7 | vendor/bin/phpunit --coverage-html=artifacts/coverage 8 | 9 | view-coverage: 10 | open artifacts/coverage/index.html 11 | 12 | clean: 13 | rm -rf artifacts/* 14 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/promises/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "guzzlehttp/promises", 3 | "description": "Guzzle promises library", 4 | "keywords": ["promise"], 5 | "license": "MIT", 6 | "authors": [ 7 | { 8 | "name": "Michael Dowling", 9 | "email": "mtdowling@gmail.com", 10 | "homepage": "https://github.com/mtdowling" 11 | } 12 | ], 13 | "require": { 14 | "php": ">=5.5.0" 15 | }, 16 | "require-dev": { 17 | "phpunit/phpunit": "^4.0" 18 | }, 19 | "autoload": { 20 | "psr-4": { 21 | "GuzzleHttp\\Promise\\": "src/" 22 | }, 23 | "files": ["src/functions_include.php"] 24 | }, 25 | "scripts": { 26 | "test": "vendor/bin/phpunit", 27 | "test-ci": "vendor/bin/phpunit --coverage-text" 28 | }, 29 | "extra": { 30 | "branch-alias": { 31 | "dev-master": "1.4-dev" 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/promises/src/AggregateException.php: -------------------------------------------------------------------------------- 1 | reason = $reason; 21 | 22 | $message = 'The promise was rejected'; 23 | 24 | if ($description) { 25 | $message .= ' with reason: ' . $description; 26 | } elseif (is_string($reason) 27 | || (is_object($reason) && method_exists($reason, '__toString')) 28 | ) { 29 | $message .= ' with reason: ' . $this->reason; 30 | } elseif ($reason instanceof \JsonSerializable) { 31 | $message .= ' with reason: ' 32 | . json_encode($this->reason, JSON_PRETTY_PRINT); 33 | } 34 | 35 | parent::__construct($message); 36 | } 37 | 38 | /** 39 | * Returns the rejection reason. 40 | * 41 | * @return mixed 42 | */ 43 | public function getReason() 44 | { 45 | return $this->reason; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/promises/src/TaskQueueInterface.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "guzzlehttp/psr7", 3 | "type": "library", 4 | "description": "PSR-7 message implementation that also provides common utility methods", 5 | "keywords": ["request", "response", "message", "stream", "http", "uri", "url"], 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "Michael Dowling", 10 | "email": "mtdowling@gmail.com", 11 | "homepage": "https://github.com/mtdowling" 12 | }, 13 | { 14 | "name": "Tobias Schultze", 15 | "homepage": "https://github.com/Tobion" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=5.4.0", 20 | "psr/http-message": "~1.0" 21 | }, 22 | "require-dev": { 23 | "phpunit/phpunit": "~4.0" 24 | }, 25 | "provide": { 26 | "psr/http-message-implementation": "1.0" 27 | }, 28 | "autoload": { 29 | "psr-4": { 30 | "GuzzleHttp\\Psr7\\": "src/" 31 | }, 32 | "files": ["src/functions_include.php"] 33 | }, 34 | "extra": { 35 | "branch-alias": { 36 | "dev-master": "1.4-dev" 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/src/DroppingStream.php: -------------------------------------------------------------------------------- 1 | stream = $stream; 23 | $this->maxLength = $maxLength; 24 | } 25 | 26 | public function write($string) 27 | { 28 | $diff = $this->maxLength - $this->stream->getSize(); 29 | 30 | // Begin returning 0 when the underlying stream is too large. 31 | if ($diff <= 0) { 32 | return 0; 33 | } 34 | 35 | // Write the stream or a subset of the stream if needed. 36 | if (strlen($string) < $diff) { 37 | return $this->stream->write($string); 38 | } 39 | 40 | return $this->stream->write(substr($string, 0, $diff)); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/src/LazyOpenStream.php: -------------------------------------------------------------------------------- 1 | filename = $filename; 27 | $this->mode = $mode; 28 | } 29 | 30 | /** 31 | * Creates the underlying stream lazily when required. 32 | * 33 | * @return StreamInterface 34 | */ 35 | protected function createStream() 36 | { 37 | return stream_for(try_fopen($this->filename, $this->mode)); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/src/NoSeekStream.php: -------------------------------------------------------------------------------- 1 | =5.6.0", 23 | "ext-gmp": "*", 24 | "paragonie/random_compat": "^1|^2", 25 | "fgrosse/phpasn1": "~1.5" 26 | }, 27 | "require-dev": { 28 | "phpunit/phpunit": "~4.1|~5.0", 29 | "squizlabs/php_codesniffer": "~2", 30 | "symfony/yaml": "~2.6|~3.0" 31 | }, 32 | "autoload": { 33 | "psr-4": { 34 | "Mdanter\\Ecc\\": "src/" 35 | } 36 | }, 37 | "autoload-dev": { 38 | "psr-4": { 39 | "Mdanter\\Ecc\\Tests\\": "tests/unit" 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/doc/release-notes-0.4.1.md: -------------------------------------------------------------------------------- 1 | # v0.4.1 release notes 2 | 3 | v0.4.1 is a minor release for the library. 4 | 5 | - Support paragonie/random_compat versions ^1|^2 for wider compatibility 6 | 7 | ## Notable changes: 8 | 9 | This overview includes changes that affect behaviour, not code moves, refactors, tests, etc. 10 | 11 | ### New: 12 | 13 | - [(#178)](https://github.com/phpecc/phpecc/pull/178) [7e217f9] Update composer.json to require paragonie/random_compat@"^1|^2" 14 | 15 | ## Credits 16 | 17 | Thanks to everyone who directly contributed to this release: 18 | 19 | - Marc Kolly 20 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/doc/release-notes-0.4.2.md: -------------------------------------------------------------------------------- 1 | # v0.4.2 release notes 2 | 3 | v0.4.2 is a minor release for the library. It addresses unintended behaviour in decHex, 4 | which should have rejected negative numbers. 5 | 6 | - [(#182)](https://github.com/phpecc/phpecc/pull/182) [0ae116d] reject negative integers in intToString and decHex. 7 | 8 | ## Credits 9 | 10 | Thanks to everyone who directly contributed to this release: 11 | 12 | - Ruben de Vries (@rubensayshi) 13 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/examples/key_generation.php: -------------------------------------------------------------------------------- 1 | generator384(); 11 | $private = $generator->createPrivateKey(); 12 | 13 | $keySerializer = new PemPrivateKeySerializer(new DerPrivateKeySerializer($adapter)); 14 | $data = $keySerializer->serialize($private); 15 | echo $data.PHP_EOL; -------------------------------------------------------------------------------- /vendor/mdanter/ecc/examples/verify_signature.php: -------------------------------------------------------------------------------- 1 | generator384(); 15 | $algorithm = 'sha256'; 16 | $sigData = base64_decode('MEQCIBe/A2tKKv2ZPEqpjNnh552rEa4NKEIstOF2O3vGG6pAAiB47qyR8FXMTy/ubso8cEjeh4jLPf1nVeErFZyEiNL+Yg=='); 17 | $document = 'I am writing today...'; 18 | 19 | // Parse signature 20 | $sigSerializer = new DerSignatureSerializer(); 21 | $sig = $sigSerializer->parse($sigData); 22 | 23 | // Parse public key 24 | $keyData = file_get_contents('../tests/data/openssl-pub.pem'); 25 | $derSerializer = new DerPublicKeySerializer($adapter); 26 | $pemSerializer = new PemPublicKeySerializer($derSerializer); 27 | $key = $pemSerializer->parse($keyData); 28 | 29 | $signer = new Signer($adapter); 30 | $hash = $signer->hashData($generator, $algorithm, $document); 31 | $check = $signer->verify($key, $sig, $hash); 32 | 33 | if ($check) { 34 | echo "Signature verified\n"; 35 | } else { 36 | echo "Signature validation failed\n"; 37 | } 38 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ./tests/unit 14 | 15 | 16 | 17 | 19 | 21 | 22 | 23 | 24 | src/ 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/src/Curves/NamedCurveFp.php: -------------------------------------------------------------------------------- 1 | name = $name; 24 | 25 | parent::__construct($parameters, $adapter); 26 | } 27 | 28 | /** 29 | * @return string 30 | */ 31 | public function getName() 32 | { 33 | return $this->name; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/src/Math/MathAdapterFactory.php: -------------------------------------------------------------------------------- 1 | generator = $generator; 24 | $this->generatorName = $name; 25 | } 26 | 27 | /** 28 | * @param \GMP $max 29 | * @return \GMP 30 | */ 31 | public function generate(\GMP $max) 32 | { 33 | echo $this->generatorName.'::rand() = '; 34 | 35 | $result = $this->generator->generate($max); 36 | 37 | echo gmp_strval($result, 10).PHP_EOL; 38 | 39 | return $result; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/src/Random/RandomNumberGenerator.php: -------------------------------------------------------------------------------- 1 | adapter = $adapter; 22 | } 23 | 24 | /** 25 | * @param \GMP $max 26 | * @return \GMP 27 | */ 28 | public function generate(\GMP $max) 29 | { 30 | $numBits = NumberSize::bnNumBits($this->adapter, $max); 31 | $numBytes = ceil($numBits / 8); 32 | 33 | // Generate an integer of size >= $numBits 34 | $bytes = random_bytes($numBytes); 35 | $value = $this->adapter->stringToInt($bytes); 36 | 37 | $mask = gmp_sub(gmp_pow(2, $numBits), 1); 38 | $integer = gmp_and($value, $mask); 39 | 40 | return $integer; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/src/Random/RandomNumberGeneratorInterface.php: -------------------------------------------------------------------------------- 1 | getR(), 10)), 19 | new Integer(gmp_strval($signature->getS(), 10)) 20 | ); 21 | } 22 | 23 | /** 24 | * @param SignatureInterface $signature 25 | * @return string 26 | */ 27 | public function serialize(SignatureInterface $signature) 28 | { 29 | return $this->toAsn($signature)->getBinary(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/src/Serializer/Signature/Der/Parser.php: -------------------------------------------------------------------------------- 1 | getType() !== Identifier::SEQUENCE) { 20 | throw new \RuntimeException('Invalid data'); 21 | } 22 | 23 | $content = $object->getContent(); 24 | if (count($content) !== 2) { 25 | throw new \RuntimeException('Failed to parse signature'); 26 | } 27 | 28 | /** @var \FG\ASN1\Universal\Integer $r */ 29 | /** @var \FG\ASN1\Universal\Integer $s */ 30 | list ($r, $s) = $content; 31 | if ($r->getType() !== Identifier::INTEGER || $s->getType() !== Identifier::INTEGER) { 32 | throw new \RuntimeException('Failed to parse signature'); 33 | } 34 | 35 | return new Signature( 36 | gmp_init($r->getContent(), 10), 37 | gmp_init($s->getContent(), 10) 38 | ); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/src/Serializer/Signature/DerSignatureSerializer.php: -------------------------------------------------------------------------------- 1 | parser = new Der\Parser(); 26 | $this->formatter = new Der\Formatter(); 27 | } 28 | 29 | /** 30 | * @param SignatureInterface $signature 31 | * @return string 32 | */ 33 | public function serialize(SignatureInterface $signature) 34 | { 35 | return $this->formatter->serialize($signature); 36 | } 37 | 38 | /** 39 | * @param string $binary 40 | * @return Signature 41 | * @throws \FG\ASN1\Exception\ParserException 42 | */ 43 | public function parse($binary) 44 | { 45 | return $this->parser->parse($binary); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | generator521(); 19 | $curve = $generator->getCurve(); 20 | 21 | $key = $generator->createPrivateKey(); 22 | $this->assertInstanceOf(PublicKey::class, $key->getPublicKey()); 23 | $this->assertInstanceOf(GeneratorPoint::class, $key->getPoint()); 24 | $this->assertSame($generator, $key->getPoint()); 25 | $this->assertInstanceOf(CurveFp::class, $key->getCurve()); 26 | $this->assertSame($curve, $key->getCurve()); 27 | $this->assertInstanceOf(\GMP::class, $key->getSecret()); 28 | $this->assertInstanceOf(EcDH::class, $key->createExchange()); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Crypto/Signature/SignatureTest.php: -------------------------------------------------------------------------------- 1 | assertSame($r, $signature->getR()); 16 | $this->assertSame($s, $signature->getS()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Crypto/Signature/SignerTest.php: -------------------------------------------------------------------------------- 1 | generator192(); 21 | $signer = new Signer($adapter); 22 | $signer->hashData($generator, 'blahblah', 'message to be signed'); 23 | } 24 | } -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Curves/NamedCurveFpTest.php: -------------------------------------------------------------------------------- 1 | curve384(); 15 | $this->assertInstanceOf(NamedCurveFp::class, $curve); 16 | ; 17 | $this->assertEquals(NistCurve::NAME_P384, $curve->getName()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Curves/Secp112r1EcdsaTest.php: -------------------------------------------------------------------------------- 1 | generator112r1(); 18 | 19 | $key = gmp_init('deadbeef', 16); 20 | $priv = $g->getPrivateKeyFrom($key); 21 | 22 | $data = "foobar"; 23 | $signer = new \Mdanter\Ecc\Crypto\Signature\Signer($adapter); 24 | $hash = $signer->hashData($g, "sha1", $data); 25 | $randomK = gmp_init('12345', 10); 26 | 27 | $signature = $signer->sign($priv, $hash, $randomK); 28 | $this->assertEquals($expectedR, $adapter->toString($signature->getR())); 29 | $this->assertEquals($expectedS, $adapter->toString($signature->getS())); 30 | 31 | $this->assertTrue($signer->verify($priv->getPublicKey(), $signature, $hash)); 32 | } 33 | } -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Primitives/CurveParametersTest.php: -------------------------------------------------------------------------------- 1 | assertInternalType('int', $size); 20 | $this->assertEquals($size, $parameters->getSize()); 21 | $this->assertInstanceOf(\GMP::class, $parameters->getA()); 22 | $this->assertInstanceOf(\GMP::class, $parameters->getB()); 23 | $this->assertInstanceOf(\GMP::class, $parameters->getPrime()); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Random/HmacRandomNumberGeneratorTest.php: -------------------------------------------------------------------------------- 1 | generator192(); 20 | $privateKey = new PrivateKey($math, $g, gmp_init(1, 10)); 21 | $hash = gmp_init(hash('sha256', 'message', false), 16); 22 | 23 | new HmacRandomNumberGenerator($math, $privateKey, $hash, 'sha256aaaa'); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Random/RandomGeneratorFactoryTest.php: -------------------------------------------------------------------------------- 1 | assertInstanceOf(DebugDecorator::class, $rng); 22 | $this->assertInstanceOf(\GMP::class, $rng->generate(gmp_init(111))); 23 | 24 | $adapter = new GmpMath(); 25 | $parameters = new CurveParameters(32, gmp_init(23, 10), gmp_init(1, 10), gmp_init(1, 10)); 26 | $curve = new CurveFp($parameters, $adapter); 27 | $point = new GeneratorPoint($adapter, $curve, gmp_init(13, 10), gmp_init(7, 10), gmp_init(7, 10)); 28 | 29 | $privateKey = $point->getPrivateKeyFrom(gmp_init(1)); 30 | $rng = RandomGeneratorFactory::getHmacRandomGenerator($privateKey, gmp_init(1), 'sha256', $debugOn); 31 | $this->assertInstanceOf(DebugDecorator::class, $rng); 32 | $this->assertInstanceOf(\GMP::class, $rng->generate(gmp_init(111))); 33 | 34 | ob_clean(); 35 | } 36 | } -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Serializer/Point/CompressedPointSerializerTest.php: -------------------------------------------------------------------------------- 1 | unserialize(EccFactory::getNistCurves()->curve192(), $data); 21 | } 22 | } -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Serializer/Point/UncompressedPointSerializerTest.php: -------------------------------------------------------------------------------- 1 | unserialize(EccFactory::getNistCurves()->curve192(), $data); 21 | } 22 | } -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/unit/Serializer/PrivateKey/PemPrivateKeySerializerTest.php: -------------------------------------------------------------------------------- 1 | parse($der); 20 | $this->assertInstanceOf(PrivateKey::class, $key); 21 | } 22 | 23 | 24 | public function testConsistent() 25 | { 26 | $adapter = EccFactory::getAdapter(); 27 | $G = EccFactory::getNistCurves($adapter)->generator192(); 28 | $key = $G->createPrivateKey(); 29 | 30 | $derPrivSerializer = new DerPrivateKeySerializer($adapter); 31 | $pemSerializer = new PemPrivateKeySerializer($derPrivSerializer); 32 | 33 | $serialized = $pemSerializer ->serialize($key); 34 | $parsed = $pemSerializer ->parse($serialized); 35 | $this->assertTrue($adapter->equals($parsed->getSecret(), $key->getSecret())); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/mdanter/ecc/tests/validate_examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | for i in ../examples/*.php; do 3 | /usr/bin/php $i 4 | if [ $? != 0 ]; then 5 | echo "Error running example code"; 6 | exit -1 7 | fi; 8 | done 9 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | composer.lock 3 | phpunit.xml 4 | 5 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/.travis.yml: -------------------------------------------------------------------------------- 1 | dist: trusty 2 | language: php 3 | 4 | # Downloaded browsers will be cached in selenium-assistant by 5 | # web-push-testing-service. Caching will speed up build time. 6 | cache: 7 | directories: 8 | - ~/.selenium-assistant 9 | 10 | php: 11 | - 5.6 12 | - hhvm 13 | - 7.0 14 | - 7.1 15 | 16 | env: 17 | - TRAVIS_NODE_VERSION="stable" 18 | 19 | before_install: 20 | - nvm install node 21 | 22 | install: 23 | - npm install web-push-testing-service -g 24 | 25 | before_script: 26 | - composer install --prefer-source -n 27 | - "export DISPLAY=:99.0" 28 | - "sh -e /etc/init.d/xvfb start || echo \"Unable to start virtual display.\"" 29 | - sleep 3 # give xvfb some time to start 30 | 31 | script: 32 | - web-push-testing-service start example -p 9012 33 | - php ./vendor/phpunit/phpunit/phpunit -c phpunit.travis.xml 34 | - web-push-testing-service stop example 35 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to WebPush 2 | WebPush is an open source library. 3 | Feel free to contribute by submitting a pull request or creating (and solving) issues! 4 | 5 | ## Running Tests 6 | 7 | First, you will need to create your own configuration file by copying 8 | phpunit.dist.xml to phpunit.xml and filling in the fields you need for 9 | testing (i.e. STANDARD_ENDPOINT, GCM_API_KEY etc.). 10 | 11 | Then, download [phpunit](https://phpunit.de/) and test with one of the 12 | following commands: 13 | 14 | **For All Tests** 15 | `php phpunit.phar` 16 | 17 | **For a Specific Test File** 18 | `php phpunit.phar tests/EncryptionTest.php` 19 | 20 | **For a Single Test** 21 | `php phpunit.phar . --filter "/::testPadPayload( .*)?$/"` (regex) 22 | 23 | But locally, these tests are handy. 24 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Louis Lagrange 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "minishlink/web-push", 3 | "type": "library", 4 | "description": "Web Push library for PHP", 5 | "keywords": ["push", "notifications", "web", "WebPush", "Push API"], 6 | "homepage": "https://github.com/web-push-libs/web-push-php", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Louis Lagrange", 11 | "email": "lagrange.louis@gmail.com", 12 | "homepage": "https://github.com/Minishlink" 13 | } 14 | ], 15 | "require": { 16 | "php": "^5.6 || ^7.0", 17 | "mdanter/ecc": "^0.4.0", 18 | "lib-openssl": "*", 19 | "spomky-labs/base64url": "^1.0", 20 | "spomky-labs/php-aes-gcm": "^1.2", 21 | "spomky-labs/jose": "^6.0", 22 | "guzzlehttp/guzzle": "^6.2" 23 | }, 24 | "require-dev": { 25 | "phpunit/phpunit": "5.7.*" 26 | }, 27 | "autoload": { 28 | "psr-4" : { 29 | "Minishlink\\WebPush\\" : "src" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/phpunit.dist.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/phpunit.travis.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vendor/minishlink/web-push/src/Utils.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Minishlink\WebPush; 13 | 14 | class Utils 15 | { 16 | public static function safeStrlen($string) 17 | { 18 | return mb_strlen($string, '8bit'); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vendor/paragonie/random_compat/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Paragon Initiative Enterprises 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /vendor/paragonie/random_compat/build-phar.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | basedir=$( dirname $( readlink -f ${BASH_SOURCE[0]} ) ) 4 | 5 | php -dphar.readonly=0 "$basedir/other/build_phar.php" $* -------------------------------------------------------------------------------- /vendor/paragonie/random_compat/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "paragonie/random_compat", 3 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 4 | "keywords": [ 5 | "csprng", 6 | "random", 7 | "pseudorandom" 8 | ], 9 | "license": "MIT", 10 | "type": "library", 11 | "authors": [ 12 | { 13 | "name": "Paragon Initiative Enterprises", 14 | "email": "security@paragonie.com", 15 | "homepage": "https://paragonie.com" 16 | } 17 | ], 18 | "support": { 19 | "issues": "https://github.com/paragonie/random_compat/issues", 20 | "email": "info@paragonie.com", 21 | "source": "https://github.com/paragonie/random_compat" 22 | }, 23 | "require": { 24 | "php": ">=5.2.0" 25 | }, 26 | "require-dev": { 27 | "phpunit/phpunit": "4.*|5.*" 28 | }, 29 | "suggest": { 30 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 31 | }, 32 | "autoload": { 33 | "files": [ 34 | "lib/random.php" 35 | ] 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/paragonie/random_compat/dist/random_compat.phar.pubkey: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm 3 | pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p 4 | +h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc 5 | -----END PUBLIC KEY----- 6 | -------------------------------------------------------------------------------- /vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: GnuPG v2.0.22 (MingW32) 3 | 4 | iQEcBAABAgAGBQJWtW1hAAoJEGuXocKCZATaJf0H+wbZGgskK1dcRTsuVJl9IWip 5 | QwGw/qIKI280SD6/ckoUMxKDCJiFuPR14zmqnS36k7N5UNPnpdTJTS8T11jttSpg 6 | 1LCmgpbEIpgaTah+cELDqFCav99fS+bEiAL5lWDAHBTE/XPjGVCqeehyPYref4IW 7 | NDBIEsvnHPHPLsn6X5jq4+Yj5oUixgxaMPiR+bcO4Sh+RzOVB6i2D0upWfRXBFXA 8 | NNnsg9/zjvoC7ZW73y9uSH+dPJTt/Vgfeiv52/v41XliyzbUyLalf02GNPY+9goV 9 | JHG1ulEEBJOCiUD9cE1PUIJwHA/HqyhHIvV350YoEFiHl8iSwm7SiZu5kPjaq74= 10 | =B6+8 11 | -----END PGP SIGNATURE----- 12 | -------------------------------------------------------------------------------- /vendor/paragonie/random_compat/psalm-autoload.php: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /vendor/psr/cache/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file, in reverse chronological order by release. 4 | 5 | ## 1.0.1 - 2016-08-06 6 | 7 | ### Fixed 8 | 9 | - Make spacing consistent in phpdoc annotations php-fig/cache#9 - chalasr 10 | - Fix grammar in phpdoc annotations php-fig/cache#10 - chalasr 11 | - Be more specific in docblocks that `getItems()` and `deleteItems()` take an array of strings (`string[]`) compared to just `array` php-fig/cache#8 - GrahamCampbell 12 | - For `expiresAt()` and `expiresAfter()` in CacheItemInterface fix docblock to specify null as a valid parameters as well as an implementation of DateTimeInterface php-fig/cache#7 - GrahamCampbell 13 | 14 | ## 1.0.0 - 2015-12-11 15 | 16 | Initial stable release; reflects accepted PSR-6 specification 17 | -------------------------------------------------------------------------------- /vendor/psr/cache/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 PHP Framework Interoperability Group 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/psr/cache/README.md: -------------------------------------------------------------------------------- 1 | PSR Cache 2 | ========= 3 | 4 | This repository holds all interfaces defined by 5 | [PSR-6](http://www.php-fig.org/psr/psr-6/). 6 | 7 | Note that this is not a Cache implementation of its own. It is merely an 8 | interface that describes a Cache implementation. See the specification for more 9 | details. 10 | -------------------------------------------------------------------------------- /vendor/psr/cache/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "psr/cache", 3 | "description": "Common interface for caching libraries", 4 | "keywords": ["psr", "psr-6", "cache"], 5 | "license": "MIT", 6 | "authors": [ 7 | { 8 | "name": "PHP-FIG", 9 | "homepage": "http://www.php-fig.org/" 10 | } 11 | ], 12 | "require": { 13 | "php": ">=5.3.0" 14 | }, 15 | "autoload": { 16 | "psr-4": { 17 | "Psr\\Cache\\": "src/" 18 | } 19 | }, 20 | "extra": { 21 | "branch-alias": { 22 | "dev-master": "1.0.x-dev" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/psr/cache/src/CacheException.php: -------------------------------------------------------------------------------- 1 | =5.3.0" 15 | }, 16 | "autoload": { 17 | "psr-4": { 18 | "Psr\\Http\\Message\\": "src/" 19 | } 20 | }, 21 | "extra": { 22 | "branch-alias": { 23 | "dev-master": "1.0.x-dev" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/spomky-labs/aes-key-wrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2016 Spomky-Labs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /vendor/spomky-labs/aes-key-wrap/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "spomky-labs/aes-key-wrap", 3 | "description": "AES Key Wrap for PHP.", 4 | "type": "library", 5 | "license": "MIT", 6 | "keywords": ["A128KW", "A192KW", "A256KW", "AES", "Key", "Wrap", "Padding", "RFC3394", "RFC5649"], 7 | "homepage": "https://github.com/Spomky-Labs/aes-key-wrap", 8 | "authors": [ 9 | { 10 | "name": "Florent Morselli", 11 | "homepage": "https://github.com/Spomky-Labs/aes-key-wrap/contributors" 12 | } 13 | ], 14 | "autoload": { 15 | "psr-4": { 16 | "AESKW\\": "src/" 17 | } 18 | }, 19 | "autoload-dev": { 20 | "psr-4": { 21 | "AESKW\\Tests\\": "tests/" 22 | } 23 | }, 24 | "require": { 25 | "php": "^5.4|^7.0", 26 | "ext-mbstring": "*", 27 | "beberlei/assert": "^2.4", 28 | "lib-openssl": "*" 29 | }, 30 | "require-dev": { 31 | "phpunit/phpunit": "^4.5|^5.0", 32 | "satooshi/php-coveralls": "^1.0" 33 | }, 34 | "extra": { 35 | "branch-alias": { 36 | "dev-master": "3.0.x-dev" 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/spomky-labs/aes-key-wrap/src/A128KW.php: -------------------------------------------------------------------------------- 1 | kek = $kek; 22 | $this->method = 'aes-'.(mb_strlen($kek, '8bit') * 8).'-ecb'; 23 | } 24 | 25 | /** 26 | * {@inheritdoc} 27 | */ 28 | public function encrypt($data) 29 | { 30 | return openssl_encrypt($data, $this->method, $this->kek, OPENSSL_ZERO_PADDING | OPENSSL_RAW_DATA); 31 | } 32 | 33 | /** 34 | * {@inheritdoc} 35 | */ 36 | public function decrypt($data) 37 | { 38 | return openssl_decrypt($data, $this->method, $this->kek, OPENSSL_ZERO_PADDING | OPENSSL_RAW_DATA); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/spomky-labs/base64url/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2016 Spomky-Labs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /vendor/spomky-labs/base64url/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "spomky-labs/base64url", 3 | "description": "Base 64 URL Safe Encoding/decoding PHP Library", 4 | "type": "library", 5 | "license": "MIT", 6 | "keywords": ["Base64", "URL", "Safe", "RFC4648"], 7 | "homepage": "https://github.com/Spomky-Labs/base64url", 8 | "authors": [ 9 | { 10 | "name": "Florent Morselli", 11 | "homepage": "https://github.com/Spomky-Labs/base64url/contributors" 12 | } 13 | ], 14 | "autoload": { 15 | "psr-4": { 16 | "Base64Url\\": "src/" 17 | } 18 | }, 19 | "require": { 20 | "php": "^5.3|^7.0" 21 | }, 22 | "require-dev": { 23 | "phpunit/phpunit": "^4.0|^5.0", 24 | "satooshi/php-coveralls": "^1.0" 25 | }, 26 | "extra": { 27 | "branch-alias": { 28 | "dev-master": "1.0.x-dev" 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/spomky-labs/base64url/src/Base64Url.php: -------------------------------------------------------------------------------- 1 | get('kty'), 'oct', 'Wrong key type.'); 26 | Assertion::true($key->has('k'), 'The key parameter "k" is missing.'); 27 | 28 | return Base64Url::decode($key->get('k')); 29 | } 30 | 31 | /** 32 | * {@inheritdoc} 33 | */ 34 | public function getAlgorithmName() 35 | { 36 | return 'dir'; 37 | } 38 | 39 | /** 40 | * {@inheritdoc} 41 | */ 42 | public function getKeyManagementMode() 43 | { 44 | return self::MODE_DIRECT; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Algorithm/KeyEncryption/DirectEncryptionInterface.php: -------------------------------------------------------------------------------- 1 | generator256(); 24 | } 25 | 26 | /** 27 | * @return string 28 | */ 29 | protected function getHashAlgorithm() 30 | { 31 | return 'sha256'; 32 | } 33 | 34 | /** 35 | * @return int 36 | */ 37 | protected function getSignaturePartLength() 38 | { 39 | return 64; 40 | } 41 | 42 | /** 43 | * @return string 44 | */ 45 | public function getAlgorithmName() 46 | { 47 | return 'ES256'; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Algorithm/Signature/ES384.php: -------------------------------------------------------------------------------- 1 | generator384(); 24 | } 25 | 26 | /** 27 | * @return string 28 | */ 29 | protected function getHashAlgorithm() 30 | { 31 | return 'sha384'; 32 | } 33 | 34 | /** 35 | * @return int 36 | */ 37 | protected function getSignaturePartLength() 38 | { 39 | return 96; 40 | } 41 | 42 | /** 43 | * @return string 44 | */ 45 | public function getAlgorithmName() 46 | { 47 | return 'ES384'; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Algorithm/Signature/ES512.php: -------------------------------------------------------------------------------- 1 | generator521(); 24 | } 25 | 26 | /** 27 | * @return string 28 | */ 29 | protected function getHashAlgorithm() 30 | { 31 | return 'sha512'; 32 | } 33 | 34 | /** 35 | * @return int 36 | */ 37 | protected function getSignaturePartLength() 38 | { 39 | return 132; 40 | } 41 | 42 | /** 43 | * @return string 44 | */ 45 | public function getAlgorithmName() 46 | { 47 | return 'ES512'; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Algorithm/Signature/HS256.php: -------------------------------------------------------------------------------- 1 | checkKey($key); 29 | 30 | return ''; 31 | } 32 | 33 | /** 34 | * {@inheritdoc} 35 | */ 36 | public function verify(JWKInterface $key, $data, $signature) 37 | { 38 | return $signature === $this->sign($key, $data); 39 | } 40 | 41 | /** 42 | * @param JWKInterface $key 43 | */ 44 | protected function checkKey(JWKInterface $key) 45 | { 46 | Assertion::eq($key->get('kty'), 'none', 'Wrong key type.'); 47 | } 48 | 49 | /** 50 | * @return string 51 | */ 52 | public function getAlgorithmName() 53 | { 54 | return 'none'; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Algorithm/Signature/PS256.php: -------------------------------------------------------------------------------- 1 | compression_manager = $compression_manager; 29 | } 30 | 31 | /** 32 | * @return \Jose\Compression\CompressionManagerInterface 33 | */ 34 | protected function getCompressionManager() 35 | { 36 | return $this->compression_manager; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Behaviour/HasJWAManager.php: -------------------------------------------------------------------------------- 1 | jwa_manager = $jwa_manager; 29 | } 30 | 31 | /** 32 | * @return \Jose\Algorithm\JWAManagerInterface 33 | */ 34 | protected function getJWAManager() 35 | { 36 | return $this->jwa_manager; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Checker/CheckerManagerInterface.php: -------------------------------------------------------------------------------- 1 | hasClaim('exp')) { 25 | return []; 26 | } 27 | 28 | $exp = (int) $jwt->getClaim('exp'); 29 | Assertion::greaterThan($exp, time(), 'The JWT has expired.'); 30 | 31 | return ['exp']; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Checker/HeaderCheckerInterface.php: -------------------------------------------------------------------------------- 1 | hasClaim('iat')) { 25 | return []; 26 | } 27 | 28 | $iat = (int) $jwt->getClaim('iat'); 29 | Assertion::lessOrEqualThan($iat, time(), 'The JWT is issued in the future.'); 30 | 31 | return ['iat']; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Checker/IssuerChecker.php: -------------------------------------------------------------------------------- 1 | hasClaim('iss')) { 25 | return []; 26 | } 27 | 28 | $issuer = $jwt->getClaim('iss'); 29 | Assertion::true($this->isIssuerAllowed($issuer), sprintf('The issuer "%s" is not allowed.', $issuer)); 30 | 31 | return ['iss']; 32 | } 33 | 34 | /** 35 | * @param string $issuer 36 | * 37 | * @return bool 38 | */ 39 | abstract protected function isIssuerAllowed($issuer); 40 | } 41 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Checker/JtiChecker.php: -------------------------------------------------------------------------------- 1 | hasClaim('jti')) { 25 | return []; 26 | } 27 | 28 | $jti = $jwt->getClaim('jti'); 29 | Assertion::true($this->isJtiValid($jti), sprintf('Invalid token ID "%s".', $jti)); 30 | 31 | return ['jti']; 32 | } 33 | 34 | /** 35 | * @param string $jti 36 | * 37 | * @return bool 38 | */ 39 | abstract protected function isJtiValid($jti); 40 | } 41 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Checker/NotBeforeChecker.php: -------------------------------------------------------------------------------- 1 | hasClaim('nbf')) { 25 | return []; 26 | } 27 | 28 | $nbf = (int) $jwt->getClaim('nbf'); 29 | Assertion::lessOrEqualThan($nbf, time(), 'The JWT can not be used yet.'); 30 | 31 | return ['nbf']; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Checker/SubjectChecker.php: -------------------------------------------------------------------------------- 1 | hasClaim('sub')) { 25 | return []; 26 | } 27 | 28 | $subject = $jwt->getClaim('sub'); 29 | Assertion::true($this->isSubjectAllowed($subject), sprintf('The subject "%s" is not allowed.', $subject)); 30 | 31 | return ['sub']; 32 | } 33 | 34 | /** 35 | * @param string $subject 36 | * 37 | * @return bool 38 | */ 39 | abstract protected function isSubjectAllowed($subject); 40 | } 41 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Compression/CompressionInterface.php: -------------------------------------------------------------------------------- 1 | compression_algorithms[$compression_algorithm->getMethodName()] = $compression_algorithm; 30 | } 31 | 32 | /** 33 | * {@inheritdoc} 34 | */ 35 | public function getCompressionAlgorithm($name) 36 | { 37 | return array_key_exists($name, $this->compression_algorithms) ? $this->compression_algorithms[$name] : null; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Compression/CompressionManagerInterface.php: -------------------------------------------------------------------------------- 1 | getContent(), true); 27 | Assertion::isArray($content, 'Invalid content.'); 28 | Assertion::keyExists($content, 'keys', 'Invalid content.'); 29 | 30 | return (new JWKSet($content))->getKeys(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Object/JWKInterface.php: -------------------------------------------------------------------------------- 1 | addKey(new JWK($value)); 32 | } 33 | } 34 | } 35 | 36 | /** 37 | * {@inheritdoc} 38 | */ 39 | public function getKeys() 40 | { 41 | return $this->keys; 42 | } 43 | 44 | /** 45 | * {@inheritdoc} 46 | */ 47 | public function addKey(JWKInterface $key) 48 | { 49 | $this->keys[] = $key; 50 | } 51 | 52 | /** 53 | * {@inheritdoc} 54 | */ 55 | public function removeKey($key) 56 | { 57 | if (isset($this->keys[$key])) { 58 | unset($this->keys[$key]); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Object/JWKSetsInterface.php: -------------------------------------------------------------------------------- 1 | loadObjectIfNeeded(); 25 | $jwkset = $this->getObject(); 26 | 27 | $keys = $jwkset->getKeys(); 28 | unset($keys[count($keys) - 1]); 29 | $jwkset = new JWKSet(); 30 | $jwkset->addKey($this->createJWK()); 31 | foreach ($keys as $key) { 32 | $jwkset->addKey($key); 33 | } 34 | $this->setObject($jwkset); 35 | $this->saveObject($jwkset); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/Object/StorableInterface.php: -------------------------------------------------------------------------------- 1 | getContent(), true); 28 | Assertion::isArray($content, 'Invalid content.'); 29 | $jwkset = new JWKSet(); 30 | foreach ($content as $kid => $cert) { 31 | $jwk = KeyConverter::loadKeyFromCertificate($cert); 32 | Assertion::notEmpty($jwk, 'Invalid content.'); 33 | if (is_string($kid)) { 34 | $jwk['kid'] = $kid; 35 | } 36 | $jwkset->addKey(new JWK($jwk)); 37 | } 38 | 39 | return $jwkset->getKeys(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/spomky-labs/jose/src/SignerInterface.php: -------------------------------------------------------------------------------- 1 | =5.4", 24 | "lib-openssl": "*", 25 | "beberlei/assert": "^2.4", 26 | "symfony/polyfill-mbstring": "^1.1" 27 | }, 28 | "require-dev": { 29 | "phpunit/phpunit": "^4.5|^5.0", 30 | "satooshi/php-coveralls": "^1.0" 31 | }, 32 | "suggest":{ 33 | "ext-crypto": "Highly recommended for better performance." 34 | }, 35 | "extra": { 36 | "branch-alias": { 37 | "dev-master": "1.2.x-dev" 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-mbstring/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014-2016 Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-mbstring/README.md: -------------------------------------------------------------------------------- 1 | Symfony Polyfill / Mbstring 2 | =========================== 3 | 4 | This component provides a partial, native PHP implementation for the 5 | [Mbstring](http://php.net/mbstring) extension. 6 | 7 | More information can be found in the 8 | [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). 9 | 10 | License 11 | ======= 12 | 13 | This library is released under the [MIT license](LICENSE). 14 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-mbstring/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/polyfill-mbstring", 3 | "type": "library", 4 | "description": "Symfony polyfill for the Mbstring extension", 5 | "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Nicolas Grekas", 11 | "email": "p@tchwork.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=5.3.3" 20 | }, 21 | "autoload": { 22 | "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" }, 23 | "files": [ "bootstrap.php" ] 24 | }, 25 | "suggest": { 26 | "ext-mbstring": "For best performance" 27 | }, 28 | "minimum-stability": "dev", 29 | "extra": { 30 | "branch-alias": { 31 | "dev-master": "1.4-dev" 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-php70/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014-2016 Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-php70/README.md: -------------------------------------------------------------------------------- 1 | Symfony Polyfill / Php70 2 | ======================== 3 | 4 | This component provides functions unavailable in releases prior to PHP 7.0: 5 | 6 | - [`intdiv`](http://php.net/intdiv) 7 | - [`preg_replace_callback_array`](http://php.net/preg_replace_callback_array) 8 | - [`error_clear_last`](http://php.net/error_clear_last) 9 | - `random_bytes` and `random_int` (from [paragonie/random_compat](https://github.com/paragonie/random_compat)) 10 | - [`*Error` throwable classes](http://php.net/Error) 11 | 12 | More information can be found in the 13 | [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). 14 | 15 | Compatibility notes 16 | =================== 17 | 18 | To write portable code between PHP5 and PHP7, some care must be taken: 19 | - `\*Error` exceptions must be caught before `\Exception`; 20 | - after calling `error_clear_last()`, the result of `$e = error_get_last()` must be 21 | verified using `isset($e['message'][0])` instead of `null === $e`. 22 | 23 | License 24 | ======= 25 | 26 | This library is released under the [MIT license](LICENSE). 27 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | use Symfony\Polyfill\Php70 as p; 13 | 14 | if (PHP_VERSION_ID < 70000) { 15 | if (!defined('PHP_INT_MIN')) { 16 | define('PHP_INT_MIN', ~PHP_INT_MAX); 17 | } 18 | if (!function_exists('intdiv')) { 19 | function intdiv($dividend, $divisor) { return p\Php70::intdiv($dividend, $divisor); } 20 | } 21 | if (!function_exists('preg_replace_callback_array')) { 22 | function preg_replace_callback_array(array $patterns, $subject, $limit = -1, &$count = 0) { return p\Php70::preg_replace_callback_array($patterns, $subject, $limit, $count); } 23 | } 24 | if (!function_exists('error_clear_last')) { 25 | function error_clear_last() { return p\Php70::error_clear_last(); } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/symfony/polyfill-php70/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/polyfill-php70", 3 | "type": "library", 4 | "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", 5 | "keywords": ["polyfill", "shim", "compatibility", "portable"], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Nicolas Grekas", 11 | "email": "p@tchwork.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=5.3.3", 20 | "paragonie/random_compat": "~1.0|~2.0" 21 | }, 22 | "autoload": { 23 | "psr-4": { "Symfony\\Polyfill\\Php70\\": "" }, 24 | "files": [ "bootstrap.php" ], 25 | "classmap": [ "Resources/stubs" ] 26 | }, 27 | "minimum-stability": "dev", 28 | "extra": { 29 | "branch-alias": { 30 | "dev-master": "1.4-dev" 31 | } 32 | } 33 | } 34 | --------------------------------------------------------------------------------