From stappers at stappers.nl Tue Jul 25 03:45:39 2017 From: stappers at stappers.nl (Geert Stappers) Date: Tue, 25 Jul 2017 09:45:39 +0200 Subject: [python-nl] wincertstore Message-ID: <20170725074539.GF29834@gpm.stappers.nl> Hoi, Mijn doel is met behulp van Python certificaten in de trust store te plaatsen. Het betreft MS Windows 7 Een websearch leverde https://pypi.python.org/pypi/wincertstore op. Module wincertstore is ge-installeerd m.b.v. pip. Vervolgens het voorbeeld uitgeprobeert. >>> for storename in ("CA", "ROOT"): with wincertstore.CertSystemStore(storename) as store: for cert in store.itercerts(usage=wincertstore.SERVER_AUTH): print(cert.get_pem().decode("ascii")) print(cert.get_name()) print(cert.enhanced_keyusage_names()) Traceback (most recent call last): File "", line 4, in print(cert.get_pem().decode("ascii")) AttributeError: 'str' object has no attribute 'decode' >>> Nu zie ik niet wat ik fout doe. Wat is de fout? Kan het zijn dat ik Python 3.6 gebruik en wincertstore 0.2 Python 3.3 verwacht? Groeten Geert Stappers -- Leven en laten leven From wichert at wiggy.net Tue Jul 25 03:58:35 2017 From: wichert at wiggy.net (Wichert Akkerman) Date: Tue, 25 Jul 2017 09:58:35 +0200 Subject: [python-nl] wincertstore In-Reply-To: <20170725074539.GF29834@gpm.stappers.nl> References: <20170725074539.GF29834@gpm.stappers.nl> Message-ID: <2C8D3B41-C81A-4752-9711-92FB9F75DC04@wiggy.net> On 25 Jul 2017, at 09:45, Geert Stappers wrote: > Vervolgens het voorbeeld uitgeprobeert. > > >>>> for storename in ("CA", "ROOT"): > with wincertstore.CertSystemStore(storename) as store: > for cert in store.itercerts(usage=wincertstore.SERVER_AUTH): > print(cert.get_pem().decode("ascii")) > print(cert.get_name()) > print(cert.enhanced_keyusage_names()) > > > Traceback (most recent call last): > File "", line 4, in > print(cert.get_pem().decode("ascii")) > AttributeError: 'str' object has no attribute 'decode' >>>> > > Nu zie ik niet wat ik fout doe. > Wat is de fout? > > Kan het zijn dat ik Python 3.6 gebruik en wincertstore 0.2 Python 3.3 verwacht? Nee, het voorbeeld is voor Python 2. In Python 3 heeft een string geen encode en decode functies. Ik gok dat je het ?.decode(?ascii?)? stukje gewoon kan weglaten. Gr, Wichert. From stappers at stappers.nl Tue Jul 25 04:36:43 2017 From: stappers at stappers.nl (Geert Stappers) Date: Tue, 25 Jul 2017 10:36:43 +0200 Subject: [python-nl] wincertstore In-Reply-To: <2C8D3B41-C81A-4752-9711-92FB9F75DC04@wiggy.net> References: <20170725074539.GF29834@gpm.stappers.nl> <2C8D3B41-C81A-4752-9711-92FB9F75DC04@wiggy.net> Message-ID: <20170725083643.GX21385@gpm.stappers.nl> On Tue, Jul 25, 2017 at 09:58:35AM +0200, Wichert Akkerman wrote: > On 25 Jul 2017, at 09:45, Geert Stappers wrote: > >>>> for storename in ("CA", "ROOT"): > > with wincertstore.CertSystemStore(storename) as store: > > for cert in store.itercerts(usage=wincertstore.SERVER_AUTH): > > print(cert.get_pem().decode("ascii")) > > print(cert.get_name()) > > print(cert.enhanced_keyusage_names()) > > > > > > Traceback (most recent call last): > > File "", line 4, in > > print(cert.get_pem().decode("ascii")) > > AttributeError: 'str' object has no attribute 'decode' > >>>> > > > > Nu zie ik niet wat ik fout doe. > > Wat is de fout? > > > > Kan het zijn dat ik Python 3.6 gebruik en wincertstore 0.2 Python 3.3 verwacht? > > Nee, het voorbeeld is voor Python 2. In Python 3 heeft een > string geen encode en decode functies. Ik gok dat je het > ???.decode(???ascii???)??? stukje gewoon kan weglaten. Yes, leaving the 'decode("ascii")' out got me beyond the AttributeError. @Christian: Where should I go to get https://pypi.python.org/pypi/wincertstore updated information. Groeten Geert Stappers -- Leven en laten leven