Hi Johannes, it worked! Encryption and decryption are working properly. Thanks so much everybody who helped me :)
As this was discussed on the mailing list, I would like to sum the solution up again. I hope this can help other people having the same problem like me. Basically the solution was: -I used another jquery version (1.9.2) —> Maybe someone should take a note in the readme for .min-Version users (if this isn’t already the case) -instead of <script language=text/javascript> I used <script> -instead of writing publicKey I used publicKey.keys …and BTW I used Firefox 27.0. Best regards, Michael Am 10.02.2014 um 15:17 schrieb Johannes Jörg Schmidt <[email protected]>: > Hi Michael, > > From where did you get openpgp.min.js? I have build it from master and > it works with the changes noted above (on Firefox 26.0 btw.) > > I changed your html to > > <!DOCTYPE html> > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> > <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> > <script src="openpgp.min.js"></script> > > </head> > <body> > <script langue="text/javascript"> > $(document).ready(function() { > var publicKey = openpgp.key.readArmored($("#myPublicKey").val()); > alert(openpgp.encryptMessage(publicKey.keys,'MyTextToEncrypt')); > }); > </script> > > <form> > <textarea id=myPublicKey>-----BEGIN PGP PUBLIC KEY BLOCK----- > Version: BCPG C# v1.6.1.0 > > mQENBFL41IABCADMN0zTLKanfWWltxN2adJhfPd+ycDLoLKMgda77jbMhzHS1Fee > NtzAzzy0UoQ7xmIBS31LvtE7cb4UvDGj5nWAzgeqhVSULnRpQQN20oFwaGewedzk > TV0jdwHianTgWdli0+UmP9zJRPaG2OBGp8FgG5uWDfRuLqOO6zH7jvQtRWCVXu5D > o7RL7hSjwASr4Ye6KlLWjyaPmE+VeEGkJYZO4loXs0tO5HIBRPIRelBCku0gzoKS > LH07SjbpqlcgS4PuhpfoUiYoxKFGbSJKWhLj2k/K4uYaz8LjmbWQVc5eY+i0TEo7 > xUuQqvYQCduhhlHmwSbVTcw9hWgS3urdFT3rABEBAAG0DHRlc3RAdGVzdC5kZYkB > HAQQAQIABgUCUvjUgAAKCRDX3VE5PWbY7JxFB/9YwJp8WcZAUIXocWU0sl73UPEy > KGb9y2qomN7JvC9HEGEx1RkvgEEZDqo1CaIuq7/M3dFTkb1eiPfSO52SOT9X22cj > KhPVwcXempCl5qKn993Bp4bfRe/4G7uJGPx2Ou3hB+seaMjr1y6wjlGf5HQiazSM > oET8yR1rXlGgI07PpjrSVxaCFOnBmzoom+Gaxs4dAJ/CX30c+g1RrKqaHUo0VCjp > d16vouO+OD/djrkbNunzmLEYFV4L9Y7n9eDzkuT9rZUa0uZ7UM5s2XrYcTZoShKP > 0vpoWoJLp5FGDccDXn4vGVHH3MCsb/At/VsgNx0i3KeB/o8Ac7W46J9ctrSS > =sx+3 > -----END PGP PUBLIC KEY BLOCK-----</textarea> > </form> > </body> > </html> > > 2014-02-10 15:25 GMT+01:00 Michael Kreuzer <[email protected]>: >> Hi Johannes, >> >> no I still get the same error: >> a.forEach is not a function. >> >> I also read the readme.md file before. Problem with the readme is, that it >> doesn't describe how to use openpgp in the minified version. >> It’s only about the "source code“ version. And I just want to get the >> minified version running. >> >> Best regards, >> Michael >> >> Am 10.02.2014 um 14:59 schrieb Johannes Jörg Schmidt <[email protected]>: >> >>> Yes, I have just tried it and got the same error. You also have to >>> read the key via `openpgp.key.readArmored` as documented in the >>> README: >>> >>> $(document).ready(function() { >>> var publicKey = openpgp.key.readArmored($("#myPublicKey").val()); >>> alert(openpgp.encryptMessage(publicKey.keys,'MyTextToEncrypt')); >>> }); >>> >>> Greetings >>> Johannes >>> >>> 2014-02-10 15:10 GMT+01:00 Michael Kreuzer <[email protected]>: >>>> Hi Johannes, >>>> >>>> I also tried that, but what I’m getting then is this error message: >>>> >>>> TypeError: a.forEach is not a function >>>> >>>> Best regards, >>>> Michael >>>> >>>> Am 10.02.2014 um 14:48 schrieb Johannes Jörg Schmidt >>>> <[email protected]>: >>>> >>>>> I am not very familar with OpenPGP.js yet and haven't tested it so >>>>> excuse me if I am totally wrong, but shouldn't `encryptMessage` be >>>>> called on the `openpgp` namespace? >>>>> >>>>> Eg: >>>>> >>>>> openpgp.encryptMessage($("#myPublicKey").val(),'MyTextToEncrypt') >>>>> >>>>> Greetings >>>>> Johannes >>>>> >>>>> 2014-02-10 14:50 GMT+01:00 Michael Kreuzer <[email protected]>: >>>>>> Hey Christian, >>>>>> >>>>>> that sounds great, but how did you do it exactly? >>>>>> >>>>>> They aren’t in the minified version, but for the test-files in the test >>>>>> directory the require() function is mandatory. >>>>>> I only wanted let Daniel know that I can’t run the tests by simply >>>>>> including >>>>>> the minified version in the header. >>>>>> >>>>>> I’m not using firebug, but the network tab in my Firefox console (which >>>>>> does >>>>>> basically the same) says that the openpgp.min.js file is loaded. >>>>>> >>>>>> Yes I’m waiting for document.ready. >>>>>> I only do this: >>>>>> >>>>>> <!DOCTYPE html> >>>>>> <html> >>>>>> <head> >>>>>> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> >>>>>> <script src="../jQuery/jquery-1.9.1.js"></script> >>>>>> <script src="./openpgp.min.js"></script> >>>>>> >>>>>> </head> >>>>>> <body> >>>>>> <script langue="text/javascript"> >>>>>> $(document).ready(function() { >>>>>> >>>>>> alert(encryptMessage($("#myPublicKey").val(),'MyTextToEncrypt')); >>>>>> }); >>>>>> </script> >>>>>> >>>>>> <form> >>>>>> <textarea id=myPublicKey>-----BEGIN PGP PUBLIC KEY BLOCK----- >>>>>> Version: BCPG C# v1.6.1.0 >>>>>> >>>>>> mQENBFL41IABCADMN0zTLKanfWWltxN2adJhfPd+ycDLoLKMgda77jbMhzHS1Fee >>>>>> NtzAzzy0UoQ7xmIBS31LvtE7cb4UvDGj5nWAzgeqhVSULnRpQQN20oFwaGewedzk >>>>>> TV0jdwHianTgWdli0+UmP9zJRPaG2OBGp8FgG5uWDfRuLqOO6zH7jvQtRWCVXu5D >>>>>> o7RL7hSjwASr4Ye6KlLWjyaPmE+VeEGkJYZO4loXs0tO5HIBRPIRelBCku0gzoKS >>>>>> LH07SjbpqlcgS4PuhpfoUiYoxKFGbSJKWhLj2k/K4uYaz8LjmbWQVc5eY+i0TEo7 >>>>>> xUuQqvYQCduhhlHmwSbVTcw9hWgS3urdFT3rABEBAAG0DHRlc3RAdGVzdC5kZYkB >>>>>> HAQQAQIABgUCUvjUgAAKCRDX3VE5PWbY7JxFB/9YwJp8WcZAUIXocWU0sl73UPEy >>>>>> KGb9y2qomN7JvC9HEGEx1RkvgEEZDqo1CaIuq7/M3dFTkb1eiPfSO52SOT9X22cj >>>>>> KhPVwcXempCl5qKn993Bp4bfRe/4G7uJGPx2Ou3hB+seaMjr1y6wjlGf5HQiazSM >>>>>> oET8yR1rXlGgI07PpjrSVxaCFOnBmzoom+Gaxs4dAJ/CX30c+g1RrKqaHUo0VCjp >>>>>> d16vouO+OD/djrkbNunzmLEYFV4L9Y7n9eDzkuT9rZUa0uZ7UM5s2XrYcTZoShKP >>>>>> 0vpoWoJLp5FGDccDXn4vGVHH3MCsb/At/VsgNx0i3KeB/o8Ac7W46J9ctrSS >>>>>> =sx+3 >>>>>> -----END PGP PUBLIC KEY BLOCK-----</textarea> >>>>>> </form> >>>>>> </body> >>>>>> </html> >>>>>> >>>>>> >>>>>> #######End of Code#### >>>>>> >>>>>> Result: >>>>>> ReferenceError: encryptMessage is not defined >>>>>> >>>>>> And by the way: thanks again for the help! >>>>>> >>>>>> Best regards, >>>>>> Michael >>>>>> >>>>>> >>>>>> Am 10.02.2014 um 13:08 schrieb Christian Hoffmann >>>>>> <[email protected]>: >>>>>> >>>>>> Hi Michael. >>>>>> >>>>>> I got that exact same version minified and running. >>>>>> >>>>>> does firebug display in the network tab if it has the file loaded? >>>>>> >>>>>> the require instructions should actually not be in the minified version. >>>>>> >>>>>> are you waiting for all files to be loaded before using tge lib? >>>>>> >>>>>> Greetings, >>>>>> Christian >>>>>> >>>>>> On Feb 10, 2014 1:02 PM, "Michael Kreuzer" <[email protected]> >>>>>> wrote: >>>>>>> >>>>>>> Hi Daniel, >>>>>>> >>>>>>> I already had a look at the examples, but the problem is that they >>>>>>> aren’t >>>>>>> working with the minified version. >>>>>>> The reason is for example grunts' require() function which isn’t part of >>>>>>> the minified file. >>>>>>> >>>>>>> In basic.js they do this: >>>>>>> var openpgp = typeof window != 'undefined' && window.openpgp ? >>>>>>> window.openpgp : require('../../src/index‘); >>>>>>> >>>>>>> Before calling: >>>>>>> openpgp.encryptMessage(); >>>>>>> >>>>>>> Therefore the example isn’t working for me. >>>>>>> As you got 0.3.2 running..may I ask how you did this with the minified >>>>>>> file? >>>>>>> Because I only have 2 more weeks for my bachelors thesis to be finished, >>>>>>> this is starting to get a little bit urgent :P >>>>>>> So if you - or someone else - could solve my problem I would be really >>>>>>> thankful. >>>>>>> >>>>>>> Best regards, >>>>>>> Michael >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Am 10.02.2014 um 06:41 schrieb Daniel <[email protected]>: >>>>>>> >>>>>>> Michael, >>>>>>> >>>>>>> For some easy examples on how to use the current version of openpgpjs, >>>>>>> check out the file at openpgpjs/test/general/basic.js. Feel free to ask >>>>>>> questions if you run into problems after looking at the examples in that >>>>>>> file. >>>>>>> >>>>>>> You no longer need to call openpgp.init. All of the libraries you need >>>>>>> are contained in the min file. >>>>>>> >>>>>>> I am developing a privly application [0][1] to enable users to send >>>>>>> encrypted messages. Because of the existing privly framework I get the >>>>>>> local trust that comes with using an extension. What is really great is >>>>>>> the >>>>>>> application can be used on any website. In the near future I should >>>>>>> have >>>>>>> some code to share. >>>>>>> >>>>>>> Best, >>>>>>> Daniel >>>>>>> >>>>>>> [0] http://vimeo.com/83258935 >>>>>>> [1] https://priv.ly/ >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Sun, Feb 9, 2014 at 2:15 PM, Michael Kreuzer <[email protected]> >>>>>>> wrote: >>>>>>>> >>>>>>>> Hey Daniel, >>>>>>>> >>>>>>>> thank you again for the help. Now things are a little bit clearer :) >>>>>>>> At the moment I just want to get the latest minified version running. >>>>>>>> >>>>>>>> So I included this file: >>>>>>>> <script src="./openpgp.min.js"></script> >>>>>>>> >>>>>>>> and called the function: >>>>>>>> encryptMessage() >>>>>>>> >>>>>>>> When I now trigger the function, the debugger tells me „ReferenceError: >>>>>>>> encryptMessage is not defined“. >>>>>>>> >>>>>>>> -May it be possible that I have to instantiate an openpgp object or >>>>>>>> something? >>>>>>>> Because in Version 0.1.0 I had to call >>>>>>>> openpgp.init(); >>>>>>>> -I didn’t manually include any libraries, are they automatically >>>>>>>> included >>>>>>>> in openpgp.min.js? >>>>>>>> >>>>>>>> BTW: What kind of PGP app are you developing? >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Michael >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Am 09.02.2014 um 19:41 schrieb Daniel <[email protected]>: >>>>>>>> >>>>>>>> Michael, >>>>>>>> >>>>>>>> Let me first clarify my previous email. Following the previous >>>>>>>> commands >>>>>>>> will bring you to a place where you can run the tests. After running >>>>>>>> the >>>>>>>> grunt command you will notice the lib folder with the files you >>>>>>>> mentioned >>>>>>>> exist. So then you can run the tests while in the root of the repo >>>>>>>> with the >>>>>>>> command 'mocha'. If the command mocha is not found, you can use: >>>>>>>> >>>>>>>> npm install -g mocha >>>>>>>> >>>>>>>> to install mocha globally on your machine. >>>>>>>> >>>>>>>> I have been able to use the minified version of openpgpjs in browser >>>>>>>> extensions without any issue. The reason all of those are required is >>>>>>>> the >>>>>>>> testing framework that openpgpjs uses, mocha, requires them. So you >>>>>>>> do not >>>>>>>> need to install them if you do not want to run the tests. >>>>>>>> >>>>>>>> Best, >>>>>>>> Daniel >>>>>>>> >>>>>>>> >>>>>>>> On Sun, Feb 9, 2014 at 4:28 AM, Michael Kreuzer >>>>>>>> <[email protected]> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi Daniel, >>>>>>>>> >>>>>>>>> thank you very much for your guide! >>>>>>>>> Are grunt, npm and node.js also mandatory if you only want to use the >>>>>>>>> minified version? >>>>>>>>> >>>>>>>>> Best regards, >>>>>>>>> Michael >>>>>>>>> >>>>>>>>> Am 08.02.2014 um 19:57 schrieb Daniel <[email protected]>: >>>>>>>>> >>>>>>>>> Hey Michael, >>>>>>>>> >>>>>>>>> I was able to get the unit tests running by installing grunt with the >>>>>>>>> command: >>>>>>>>> >>>>>>>>> npm install -g grunt-cli >>>>>>>>> >>>>>>>>> This assumes that node.js and npm are installed on your machine. This >>>>>>>>> will install the grunt-cli in a global context, so that it is >>>>>>>>> available to >>>>>>>>> you regardless of what directory you are in. >>>>>>>>> >>>>>>>>> Then make sure you are in the root of the openpgp.js repo and type: >>>>>>>>> >>>>>>>>> npm install >>>>>>>>> >>>>>>>>> and then: >>>>>>>>> >>>>>>>>> grunt >>>>>>>>> >>>>>>>>> to run the tests. For more details check out the docs. >>>>>>>>> >>>>>>>>> I too am working on a pgp based web app. It's not in a place where it >>>>>>>>> would be useful to share right now, but I'll be sure to share the >>>>>>>>> repo with >>>>>>>>> the list when it does anything useful. >>>>>>>>> >>>>>>>>> Best, >>>>>>>>> Daniel >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Feb 6, 2014 at 8:47 AM, Michael Kreuzer >>>>>>>>> <[email protected]> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Hello Payk, >>>>>>>>>> >>>>>>>>>> thanks for the quick reponse! >>>>>>>>>> I had a look into the unit tests but there was a dead link to >>>>>>>>>> openpgp.js. So I changed it. Next problem was that it refers to: >>>>>>>>>> <script src="lib/chai.js"></script> >>>>>>>>>> <script src="lib/mocha.js"></script> >>>>>>>>>> >>>>>>>>>> But there is no „lib" folder at all. So I tried to download mocha, >>>>>>>>>> but >>>>>>>>>> you would have node.js installed. >>>>>>>>>> And there are also some NPM commands. This seems to be a packet >>>>>>>>>> manager >>>>>>>>>> or something. >>>>>>>>>> >>>>>>>>>> I don’t have any experience with node.js, mocha, chai, npm…so this >>>>>>>>>> is a >>>>>>>>>> little bit confusing me, because node.js e.g. seems to be server side >>>>>>>>>> javascript (if I got that right). >>>>>>>>>> But why would one need server side actions for a javascript openpgp >>>>>>>>>> program? >>>>>>>>>> (Despite I want to get to know these techniques, I unfortunately >>>>>>>>>> don’t >>>>>>>>>> have the time to learn all these at the moment). >>>>>>>>>> >>>>>>>>>> Is there no simple way to just get this thing running with pure JS >>>>>>>>>> like >>>>>>>>>> in version 0.1.0? >>>>>>>>>> I just included the libraries, called the functions and it worked. >>>>>>>>>> >>>>>>>>>> Yes of course, and I would also have nothing against working >>>>>>>>>> together. >>>>>>>>>> May I ask where you are from? Because your name looks pretty german >>>>>>>>>> :) >>>>>>>>>> So what is the topic you are working on Payk? >>>>>>>>>> >>>>>>>>>> Michael >>>>>>>>>> >>>>>>>>>> Am 06.02.2014 um 15:11 schrieb Christian Hoffmann >>>>>>>>>> <[email protected]>: >>>>>>>>>> >>>>>>>>>> Hello Herr Kreuzer. >>>>>>>>>> >>>>>>>>>> I would have a look into the unit tests. >>>>>>>>>> they helped me a lot! >>>>>>>>>> >>>>>>>>>> The require function is for the grunt build proccess afaik. >>>>>>>>>> In the minified versions they dont exist. >>>>>>>>>> >>>>>>>>>> Also have a look into the web worker unit tests. >>>>>>>>>> If you don't want the browser to freeze for seconds when generating >>>>>>>>>> big >>>>>>>>>> keys, >>>>>>>>>> this will help you. >>>>>>>>>> >>>>>>>>>> Another note: >>>>>>>>>> You seem to have allmost the same project as i am doing right now xD >>>>>>>>>> more or less. >>>>>>>>>> >>>>>>>>>> We could exchange ideas or something. >>>>>>>>>> >>>>>>>>>> Greetings, >>>>>>>>>> Payk >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Feb 6, 2014 at 3:15 PM, Michael Kreuzer >>>>>>>>>> <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> Hi @all, >>>>>>>>>>> >>>>>>>>>>> at the moment I’m writing my Bachelor’s Thesis and my topic is to >>>>>>>>>>> integrate the OpenPGP functionality in Facebook chat. >>>>>>>>>>> So you could use my web site to chat encrypted with other FB friends >>>>>>>>>>> (The chat part is done with XMPP using Strophe.js). >>>>>>>>>>> Therefore I’m using openPGP js and I think you guys did a really >>>>>>>>>>> great >>>>>>>>>>> job. So thanks for the hard work. >>>>>>>>>>> Till now I’ve made it to automatically send and receive encrypted >>>>>>>>>>> messages, to decrypt them, sign (and partly to verify them). >>>>>>>>>>> >>>>>>>>>>> But I did this only in openPGP 0.1.0 and the current version is >>>>>>>>>>> 0.3.2. >>>>>>>>>>> Now I wanted to migrate, but basicially the whole structure of >>>>>>>>>>> openpgp >>>>>>>>>>> js has changed. >>>>>>>>>>> >>>>>>>>>>> So here’s my problem: >>>>>>>>>>> a) When I’m using the source code version javascript can’t find the >>>>>>>>>>> „require()“ function. >>>>>>>>>>> I assume this part of node.js / browserify / … >>>>>>>>>>> I don’t have any experience with these plugins, so maybe someone >>>>>>>>>>> could >>>>>>>>>>> tell me what to do. >>>>>>>>>>> >>>>>>>>>>> b) When I’m using the minified version it simply can’t find the >>>>>>>>>>> functions e.g. „signAndEncryptMessage()". >>>>>>>>>>> >>>>>>>>>>> In Version 0.1.0 the examples helped me a lot. >>>>>>>>>>> Would be nice if someone could give me some help. Thanks in advance! >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Michael >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> >>>>>>>>>>> http://openpgpjs.org >>>>>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> >>>>>>>>>> http://openpgpjs.org >>>>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> >>>>>>>>>> http://openpgpjs.org >>>>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> >>>>>>>>> http://openpgpjs.org >>>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> >>>>>>>>> http://openpgpjs.org >>>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> >>>>>>>> http://openpgpjs.org >>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> >>>>>>>> http://openpgpjs.org >>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> >>>>>>> http://openpgpjs.org >>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>>> >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> >>>>>>> http://openpgpjs.org >>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>> >>>>>> _______________________________________________ >>>>>> >>>>>> http://openpgpjs.org >>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> >>>>>> http://openpgpjs.org >>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>>> _______________________________________________ >>>>> >>>>> http://openpgpjs.org >>>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>>> >>>> _______________________________________________ >>>> >>>> http://openpgpjs.org >>>> Subscribe/unsubscribe: http://list.openpgpjs.org >>> _______________________________________________ >>> >>> http://openpgpjs.org >>> Subscribe/unsubscribe: http://list.openpgpjs.org >> >> _______________________________________________ >> >> http://openpgpjs.org >> Subscribe/unsubscribe: http://list.openpgpjs.org > _______________________________________________ > > http://openpgpjs.org > Subscribe/unsubscribe: http://list.openpgpjs.org _______________________________________________ http://openpgpjs.org Subscribe/unsubscribe: http://list.openpgpjs.org

