{"_id":"grunt-pemcrypt","_rev":"26-838545ca09d8e3a41647312dc7aab1a7","name":"grunt-pemcrypt","description":"Use pemcrypt to automatically encrypt and decrypt JSON configuration files","dist-tags":{"latest":"0.2.1"},"versions":{"0.0.1":{"name":"grunt-pemcrypt","description":"Use pemcrypt to automatically encrypt and decrypt JSON configuration files","version":"0.0.1","homepage":"https://github.com/bevacqua/grunt-pemcrypt","author":{"name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com","url":"http://blog.ponyfoo.com/"},"repository":{"type":"git","url":"git@github.com:bevacqua/grunt-pemcrypt.git"},"bugs":{"url":"https://github.com/bevacqua/grunt-pemcrypt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/bevacqua/grunt-pemcrypt/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.6.0","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.2.0","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"pemcrypt":"0.0.1","chalk":"~0.2.1"},"readme":"# grunt-pemcrypt\n\n> Use pemcrypt to automatically encrypt and decrypt JSON configuration files\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-pemcrypt --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-pemcrypt');\n```\n\n## The \"pemcrypt\" task\n\n### Overview\nIn your project's Gruntfile, add the task you want to automate to the data object passed into `grunt.initConfig()`.\n\n```js\nvar path = require('path');\nvar cwd = process.cwd();\nvar pemkey = path.join(cwd, '.private.pem');\n\ngrunt.initConfig({\n  pemcrypt_gen: {\n    key: { pem: pemkey }\n  },\n  pemcrypt_encrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  },\n  pemcrypt_decrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  }\n})\n```\n\n#### Task `pemcrypt_gen`\n\nGenerates a private `.pem` key at the provided absolute file path. In the example I picked a file path in the project root, but you might want to keep your `.pem`s outside the working directory for your repository altogether. You can optionally pass in a `size` value to determine the strength of the private key generated.\n\n```shell\ngrunt pemcrypt_gen:key\n```\n\n#### Task `pemcrypt_encrypt`\n\nEncrypts the `store` file sitting on our `cwd`, we can override `cwd` by passing it as an option. For example:\n\n```json\n{\n  \"pemcrypt_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"store\": \"foo\",\n      \"cwd\": __dirname + '/bar'\n    }\n  }\n}\n```\n\n#### Task `pemcrypt_decrypt`\n\nDecrypts the `store` file, using the same pem that encrypted it.\n\n#### Troubleshooting\n\nGenerate the private key only once, then encrypt and decrypt all you like using that one key.","readmeFilename":"README.md","_id":"grunt-pemcrypt@0.0.1","dist":{"shasum":"5c543d1694852e89a75c346681c73ecf068caf8a","tarball":"https://registry.npmjs.org/grunt-pemcrypt/-/grunt-pemcrypt-0.0.1.tgz","integrity":"sha512-bSNg5ShgyuarN3WMlzRxb22QEqmmAmO9zwPRZkxi0RGAanpCHnO1KRCpEkmfnIf5fFu3eWnKOPAFfyC7MCqwMQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALh4tMfILHO3dclYOzZZEjNdyUpmOVuDSlv+88T1MbFAiAsaJebKgNeXq/2R2tExoUt8oNGHP6K3b2PlYhHxS9P4g=="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"},"maintainers":[{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"}],"directories":{}},"0.0.2":{"name":"grunt-pemcrypt","description":"Use pemcrypt to automatically encrypt and decrypt JSON configuration files","version":"0.0.2","homepage":"https://github.com/bevacqua/grunt-pemcrypt","author":{"name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com","url":"http://blog.ponyfoo.com/"},"repository":{"type":"git","url":"git@github.com:bevacqua/grunt-pemcrypt.git"},"bugs":{"url":"https://github.com/bevacqua/grunt-pemcrypt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/bevacqua/grunt-pemcrypt/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.6.0","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.2.0","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"pemcrypt":"0.0.1","chalk":"~0.2.1"},"readme":"# grunt-pemcrypt\n\n> Use pemcrypt to automatically encrypt and decrypt JSON configuration files\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-pemcrypt --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-pemcrypt');\n```\n\n## The \"pemcrypt\" task\n\n### Overview\nIn your project's Gruntfile, add the task you want to automate to the data object passed into `grunt.initConfig()`.\n\n```js\nvar path = require('path');\nvar cwd = process.cwd();\nvar pemkey = path.join(cwd, '.private.pem');\n\ngrunt.initConfig({\n  pem_gen: {\n    key: { pem: pemkey }\n  },\n  pem_encrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  },\n  pem_decrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  }\n})\n```\n\n#### Task `pem_gen`\n\nGenerates a private `.pem` key at the provided absolute file path. In the example I picked a file path in the project root, but you might want to keep your `.pem`s outside the working directory for your repository altogether. You can optionally pass in a `size` value to determine the strength of the private key generated.\n\n```shell\ngrunt pem_gen:key\n```\n\n#### Task `pem_encrypt`\n\nEncrypts the `store` file sitting on our `cwd`, we can override `cwd` by passing it as an option. For example:\n\n```json\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"store\": \"foo\",\n      \"cwd\": __dirname + '/bar'\n    }\n  }\n}\n```\n\n#### Task `pem_decrypt`\n\nDecrypts the `store` file, using the same pem that encrypted it.\n\n#### Troubleshooting\n\nGenerate the private key only once, then encrypt and decrypt all you like using that one key.","readmeFilename":"README.md","_id":"grunt-pemcrypt@0.0.2","dist":{"shasum":"4bd889cb53b8a5b71e5503e607acfd9c716be02a","tarball":"https://registry.npmjs.org/grunt-pemcrypt/-/grunt-pemcrypt-0.0.2.tgz","integrity":"sha512-eBAODPpyfcqAUXiFi50ToTI0hgZy3B49iRWq2lQqksMbU1mR9/VVYeP//fqr3GhDbh4JNRjHoYy51sX43hlcRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsrQ4nTTKBYo6z9frwVMAnv85k7SO+Ak5hwhlFMe9jIgIgBXQ43XsEfz4KOSKbaXA0dMCn62T/EuPXbmrfqnbchQE="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"},"maintainers":[{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"}],"directories":{}},"0.1.0":{"name":"grunt-pemcrypt","description":"Use pemcrypt to automatically encrypt and decrypt JSON configuration files","version":"0.1.0","homepage":"https://github.com/bevacqua/grunt-pemcrypt","author":{"name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com","url":"http://blog.ponyfoo.com/"},"repository":{"type":"git","url":"git@github.com:bevacqua/grunt-pemcrypt.git"},"bugs":{"url":"https://github.com/bevacqua/grunt-pemcrypt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/bevacqua/grunt-pemcrypt/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.6.0","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.2.0","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"pemcrypt":"0.1.0","chalk":"~0.2.1"},"readme":"# grunt-pemcrypt\n\n> Use pemcrypt to automatically encrypt and decrypt JSON configuration files\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-pemcrypt --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-pemcrypt');\n```\n\n## The \"pemcrypt\" task\n\n### Overview\nIn your project's Gruntfile, add the task you want to automate to the data object passed into `grunt.initConfig()`.\n\n```js\nvar path = require('path');\nvar cwd = process.cwd();\nvar pemkey = path.join(cwd, '.private.pem');\n\ngrunt.initConfig({\n  pem_gen: {\n    key: { pem: pemkey }\n  },\n  pem_encrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  },\n  pem_decrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  }\n})\n```\n\n#### Task `pem_gen`\n\nGenerates a private `.pem` key at the provided absolute file path. In the example I picked a file path in the project root, but you might want to keep your `.pem`s outside the working directory for your repository altogether. You can optionally pass in a `size` value to determine the strength of the private key generated.\n\n```shell\ngrunt pem_gen:key\n```\n\n#### Task `pem_encrypt`\n\nEncrypts the `store` file sitting on our `cwd`, we can override `cwd` by passing it as an option. For example:\n\n```js\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"store\": \"foo\",\n      \"cwd\": __dirname + '/bar'\n    }\n  }\n}\n```\n\nAlternatively to providing a `store`, you can provide different locations for each of your versions, for example:\n\n```js\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"pemstore\": \"secure/foo\",\n      \"rawstore\": \"private/foo\"\n    }\n  }\n}\n```\n\n#### Task `pem_decrypt`\n\nDecrypts the `store` file, using the same pem that encrypted it. This task carries the same configuration options found in the `pem_encrypt` task.\n\n#### Troubleshooting\n\nGenerate the private key only once, then encrypt and decrypt all you like using that one key.","readmeFilename":"README.md","_id":"grunt-pemcrypt@0.1.0","dist":{"shasum":"863141258ff46c02d5c869a029976ebf35c353a6","tarball":"https://registry.npmjs.org/grunt-pemcrypt/-/grunt-pemcrypt-0.1.0.tgz","integrity":"sha512-6+wUiQPNwgQM3X+w0l7E3Mdd8XZ8I4ZAhjDo0TClpm3aoNOvNnPGMlVE1GHn/EQHtKuO2pym6IIKqtVLDDk9JA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3iUBxdvfh7EZfPjwmB1j7NjdXNGMIR26FSwRD7nAjiAIgdbEaC1ltCLAeApZXpNL+p0uztJXysyWApsxVPwA9PWs="}]},"_from":".","_npmVersion":"1.2.23","_npmUser":{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"},"maintainers":[{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"}],"directories":{}},"0.1.1":{"name":"grunt-pemcrypt","description":"Use pemcrypt to automatically encrypt and decrypt JSON configuration files","version":"0.1.1","homepage":"https://github.com/bevacqua/grunt-pemcrypt","author":{"name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com","url":"http://blog.ponyfoo.com/"},"repository":{"type":"git","url":"git@github.com:bevacqua/grunt-pemcrypt.git"},"bugs":{"url":"https://github.com/bevacqua/grunt-pemcrypt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/bevacqua/grunt-pemcrypt/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"~0.6.0","grunt-contrib-clean":"~0.4.0","grunt-contrib-nodeunit":"~0.2.0","grunt":"~0.4.1"},"peerDependencies":{"grunt":"~0.4.1"},"keywords":["gruntplugin"],"dependencies":{"pemcrypt":"0.2.0","chalk":"~0.2.1"},"readme":"# grunt-pemcrypt\n\n> Use pemcrypt to automatically encrypt and decrypt any file\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-pemcrypt --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-pemcrypt');\n```\n\n## The \"pemcrypt\" task\n\n### Overview\nIn your project's Gruntfile, add the task you want to automate to the data object passed into `grunt.initConfig()`.\n\n```js\nvar path = require('path');\nvar cwd = process.cwd();\nvar pemkey = path.join(cwd, '.private.pem');\n\ngrunt.initConfig({\n  pem_gen: {\n    key: { pem: pemkey }\n  },\n  pem_encrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  },\n  pem_decrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  }\n})\n```\n\n#### Task `pem_gen`\n\nGenerates a private `.pem` key at the provided absolute file path. In the example I picked a file path in the project root, but you might want to keep your `.pem`s outside the working directory for your repository altogether. You can optionally pass in a `size` value to determine the strength of the private key generated.\n\n```shell\ngrunt pem_gen:key\n```\n\n#### Task `pem_encrypt`\n\nEncrypts the `store` file sitting on our `cwd`, we can override `cwd` by passing it as an option. For example:\n\n```js\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"store\": \"foo\",\n      \"cwd\": __dirname + '/bar'\n    }\n  }\n}\n```\n\nAlternatively to providing a `store`, you can provide different locations for each of your versions, for example:\n\n```js\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"pemstore\": \"secure/foo\",\n      \"rawstore\": \"private/foo\"\n    }\n  }\n}\n```\n\n#### Task `pem_decrypt`\n\nDecrypts the `store` file, using the same pem that encrypted it. This task carries the same configuration options found in the `pem_encrypt` task.\n\n#### Troubleshooting\n\nGenerate the private key only once, then encrypt and decrypt all you like using that one key.","readmeFilename":"README.md","_id":"grunt-pemcrypt@0.1.1","dist":{"shasum":"688c284c887237abb6710d929d0b78d046120425","tarball":"https://registry.npmjs.org/grunt-pemcrypt/-/grunt-pemcrypt-0.1.1.tgz","integrity":"sha512-LSH4KsWmQ1Od9tPWq3O0/WmSRkexTB9Z+/2AqvLvLyJYVv8uQ+Ulagjb5fCD0k3ewcHwWUwfd6QdJH978Ol+7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIHzyr9jCsZgfZ1Pg4JpuklRRoMSWraPOMTj22Sxu8TQIgebiMul8Wmd8E6csj7rwht6ahHPzgjOrkondZzHOSUKY="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"},"maintainers":[{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"}]},"0.2.1":{"name":"grunt-pemcrypt","description":"Use pemcrypt to automatically encrypt and decrypt JSON configuration files","version":"0.2.1","homepage":"https://github.com/bevacqua/grunt-pemcrypt","author":{"name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com","url":"http://blog.ponyfoo.com/"},"repository":{"type":"git","url":"git@github.com:bevacqua/grunt-pemcrypt.git"},"bugs":{"url":"https://github.com/bevacqua/grunt-pemcrypt/issues"},"licenses":[{"type":"MIT","url":"https://github.com/bevacqua/grunt-pemcrypt/blob/master/LICENSE-MIT"}],"main":"Gruntfile.js","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt test"},"devDependencies":{"grunt-contrib-jshint":"0.6.0","grunt-contrib-clean":"0.4.0","grunt":"0.4.1"},"peerDependencies":{"grunt":"0.4.1"},"keywords":["gruntplugin"],"dependencies":{"pemcrypt":"0.3.0","chalk":"0.2.1"},"readme":"# grunt-pemcrypt\n\n> Use pemcrypt to automatically encrypt and decrypt any file\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-pemcrypt --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-pemcrypt');\n```\n\n## The \"pemcrypt\" task\n\n### Overview\nIn your project's Gruntfile, add the task you want to automate to the data object passed into `grunt.initConfig()`.\n\n```js\nvar path = require('path');\nvar cwd = process.cwd();\nvar pemkey = path.join(cwd, '.private.pem');\n\ngrunt.initConfig({\n  pem_gen: {\n    key: { pem: pemkey }\n  },\n  pem_encrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  },\n  pem_decrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  }\n})\n```\n\n#### Task `pem_gen`\n\nGenerates a private `.pem` key at the provided absolute file path. In the example I picked a file path in the project root, but you might want to keep your `.pem`s outside the working directory for your repository altogether. You can optionally pass in a `size` value to determine the strength of the private key generated.\n\n```shell\ngrunt pem_gen:key\n```\n\n#### Task `pem_encrypt`\n\nEncrypts the `store` file sitting on our `cwd`, we can override `cwd` by passing it as an option. For example:\n\n```js\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"store\": \"foo\",\n      \"cwd\": __dirname + '/bar'\n    }\n  }\n}\n```\n\nAlternatively to providing a `store`, you can provide different locations for each of your versions, for example:\n\n```js\n{\n  \"pem_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"pemstore\": \"secure/foo\",\n      \"rawstore\": \"private/foo\"\n    }\n  }\n}\n```\n\n#### Task `pem_decrypt`\n\nDecrypts the `store` file, using the same pem that encrypted it. This task carries the same configuration options found in the `pem_encrypt` task.\n\n#### Troubleshooting\n\nGenerate the private key only once, then encrypt and decrypt all you like using that one key.","readmeFilename":"README.md","_id":"grunt-pemcrypt@0.2.1","dist":{"shasum":"33caa2d8ddfa225c0dc0596dc7265ad7d90b1ca6","tarball":"https://registry.npmjs.org/grunt-pemcrypt/-/grunt-pemcrypt-0.2.1.tgz","integrity":"sha512-tc7x/N3MmUEaWRK77jT7sq+GNgpQQb74JJxYjw+i2Iqycdcxs/FlhTDS5T5lrQEZK1OM1MS7XEqxg6vRJcABTw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD26ouTUGEGLqM3NEPvfQUb2RZpK3V5MiA9x+BeMwai2wIgJN0WYfBnzNgU+Qz5KETfn2EQ7ShiJuqmMybRnXjvNqE="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"},"maintainers":[{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"}]}},"readme":"# grunt-pemcrypt\n\n> Use pemcrypt to automatically encrypt and decrypt JSON configuration files\n\n## Getting Started\nThis plugin requires Grunt `~0.4.1`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-pemcrypt --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-pemcrypt');\n```\n\n## The \"pemcrypt\" task\n\n### Overview\nIn your project's Gruntfile, add the task you want to automate to the data object passed into `grunt.initConfig()`.\n\n```js\nvar path = require('path');\nvar cwd = process.cwd();\nvar pemkey = path.join(cwd, '.private.pem');\n\ngrunt.initConfig({\n  pemcrypt_gen: {\n    key: { pem: pemkey }\n  },\n  pemcrypt_encrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  },\n  pemcrypt_decrypt: {\n    foo: { pem: pemkey, store: 'foo' }\n  }\n})\n```\n\n#### Task `pemcrypt_gen`\n\nGenerates a private `.pem` key at the provided absolute file path. In the example I picked a file path in the project root, but you might want to keep your `.pem`s outside the working directory for your repository altogether. You can optionally pass in a `size` value to determine the strength of the private key generated.\n\n```shell\ngrunt pemcrypt_gen:key\n```\n\n#### Task `pemcrypt_encrypt`\n\nEncrypts the `store` file sitting on our `cwd`, we can override `cwd` by passing it as an option. For example:\n\n```json\n{\n  \"pemcrypt_encrypt\": {\n    \"foo\": {\n      \"pem\": pemkey,\n      \"store\": \"foo\",\n      \"cwd\": __dirname + '/bar'\n    }\n  }\n}\n```\n\n#### Task `pemcrypt_decrypt`\n\nDecrypts the `store` file, using the same pem that encrypted it.\n\n#### Troubleshooting\n\nGenerate the private key only once, then encrypt and decrypt all you like using that one key.","maintainers":[{"name":"bevacqua","email":"nicolasbevacqua@gmail.com"}],"time":{"modified":"2022-06-18T15:40:17.142Z","created":"2013-09-04T04:49:20.260Z","0.0.1":"2013-09-04T04:49:24.251Z","0.0.2":"2013-09-04T04:52:02.278Z","0.1.0":"2013-09-04T16:28:16.357Z","0.1.1":"2013-11-05T11:51:03.277Z","0.2.1":"2013-11-11T14:11:57.254Z"},"author":{"name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com","url":"http://blog.ponyfoo.com/"},"repository":{"type":"git","url":"git@github.com:bevacqua/grunt-pemcrypt.git"},"users":{"runningtalus":true}}