SMIME envelope problem (Python)
Michal Bozon <[email protected]> Fri, 31 May 2013 07:21:25 +0200
| Newsgroups | gmane.comp.encryption.cryptlib |
|---|---|
| Message-ID | <CAJ-1OcJpqmQ=OaUm72z9Fo3ykvUHf0Wo0kikPtpaYBPJBQjpGw@mail.gmail.com> |
hi, I am new to cryptlib, and I have a question regarding
proper usage of its Python bindings.
I have an example SMIME message, generated by OpenSSL,
signed with an example certificate issued by an example
certificate authority (both also generated by OpenSSL).
The attached Python script just tries to load the SMIME message;
unfortunately, the data is not recognized - when the envelope
is set to CRYPT_FORMAT_AUTO, it results to:
cryptlib_py.CryptException: (-32, 'Bad/unrecognised data format')
When the envelope is set to CRYPT_FORMAT_SMIME, some garbage is
prepended to the message data: (e.g.:
'0\x80\x06\t*\x86H\x86\xf7\r\x01\x07\x01\xa0\x80$\x80\x04\x82\t\xf5')
I guess that the problem could be in the usage of ctypes buffer,
unfortunately I was unable to find another suitable writable buffer
type..
thanks for any help,
Michal Bozon
### smimeload.py:
#! /usr/bin/env python
import ctypes
import cryptlib_py as C
U = C.CRYPT_UNUSED
C.cryptInit()
# envelope = C.cryptCreateEnvelope(U, C.CRYPT_FORMAT_AUTO)
envelope = C.cryptCreateEnvelope(U, C.CRYPT_FORMAT_SMIME)
with open('/tmp/msg.smime') as f: msg = f.read()
C.cryptPushData(envelope, msg)
C.cryptFlushData(envelope)
buf_size = len(msg)
buf = ctypes.create_string_buffer('', size=buf_size)
size_out = C.cryptPopData(envelope, buf, buf_size)
sys.stdout.write(buf[:size_out])
C.cryptDestroyEnvelope(envelope)
C.cryptEnd()
### msg.smime (base64 encoded to prevent potential issues):
TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvc2lnbmVkOyBwcm90b2Nv
bD0iYXBwbGljYXRpb24veC1wa2NzNy1zaWduYXR1cmUiOyBtaWNhbGc9InNoYTEiOyBib3VuZGFy
eT0iLS0tLTg4RkUwNzVBMkNBNEVFRjhDQjA5RTcwQjk4MkE3ODAzIgoKVGhpcyBpcyBhbiBTL01J
TUUgc2lnbmVkIG1lc3NhZ2UKCi0tLS0tLTg4RkUwNzVBMkNBNEVFRjhDQjA5RTcwQjk4MkE3ODAz
CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbg0KDQpoZWxsbyB3b3JsZCENCgotLS0tLS04OEZFMDc1
QTJDQTRFRUY4Q0IwOUU3MEI5ODJBNzgwMwpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtcGtj
czctc2lnbmF0dXJlOyBuYW1lPSJzbWltZS5wN3MiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6
IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0ic21pbWUu
cDdzIgoKTUlJRjN3WUpLb1pJaHZjTkFRY0NvSUlGMERDQ0Jjd0NBUUV4Q3pBSkJnVXJEZ01DR2dV
QU1Bc0dDU3FHU0liMwpEUUVIQWFDQ0F6a3dnZ00xTUlJQ0hRSUJBVEFOQmdrcWhraUc5dzBCQVFV
RkFEQm5NUXN3Q1FZRFZRUUdFd0pWClV6RVRNQkVHQTFVRUNBd0tVMjl0WlMxVGRHRjBaVEVQTUEw
R0ExVUVCd3dHUVNCRGFYUjVNU0F3SGdZRFZRUUsKREJkQklFTmxjblJwWm1sallYUnBiMjRnUTI5
dGNHRnVlVEVRTUE0R0ExVUVBd3dIUVVORlVsUkRUekFlRncweApNekExTXpBeE1UQTRNVEphRncw
eE16QTJNamt4TVRBNE1USmFNRm94Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlEClZRUUlEQXBUYjIx
bExWTjBZWFJsTVE4d0RRWURWUVFIREFaQklFTnBkSGt4RWpBUUJnTlZCQW9NQ1VFZ1EyOXQKY0dG
dWVURVJNQThHQTFVRUF3d0lRVU5QVFZCQlRsa3dnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElC
RHdBdwpnZ0VLQW9JQkFRQ3lybFZlZEJnTEtSc1g4c1BkK1FoUzZTNm9hSDJYUmRVTU9FQUN3TEd3
RVF1aEZ4N05UTDEzCjhLVW5OdEJyaEx0aUkyZ0lsaWNZcmJnQkE2UGVMYzFqK3RZT0FMbDljUkhH
b2VFOHhyYkNCdDlOMjFpWkZjamoKTDZUSGhLeExvVFZRRVp4OEUwdElGdFlTTGNMeENLTHpyb3U3
dXlOeVRIdnBVRzNLbkhQSHRMdk5KN2pocVJLTwpYOGRnVEl2dkdDbmZkZ2ZBSmNSOTlkZDFBMDkz
ditqSFpMQXBFMWkzU2VXVjBHZytxSU9tRGlvRmJlbGFCb09qCmthNE9qbnppUUhSL2VLS3lZakVJ
bVFpQzAzNklyYjhVNGpxb1NOWkEycUpFVTVXRHYyUjRKRzJ0OXlqWmhUU1gKSWZpUkxDNXRuM3ox
aXJNbG9Qdll1WmpNb29OcENMTFZBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQgpBQk1j
clhGbE1zLzNlNXdsMVp2aXRMTFJHbm5sWkdNcEQzTXBXWkpFQmgzcHpNeEhOOXhOVXQyQ0xiSEl0
bXA2ClpZeDhUZ2p3dmd3RWRZeVBSRFZWYnVOQ0gwck1WbWhvYmJyZnlOQUI0N3BPUUQvSUJKazFE
NFNPcGUvMi9qbzMKVEsrQmdQWnFnSXpQbGF0Z0d5cTJySUJ1NGlIMWw3bHFCcG5UWWRxbEp1eUFt
YkJHdzhzSWtLQnVKSnpSYmpZZgpDbmxmU2lMOVVoM1kzUFhreDNjUEFWWldNL1FSakV6bUZ0ak9K
d2w2RThIeVo4SGVkUVNtLzlYanlzNFluazVFCldLWXZYV3BXZWZPdmp3MzN1WU5ZeWdaWHVLSEFU
S0ZwcWhTMXBMUVp0UnpPZ3NETVhnT2REZldmQW1MU2ZocDQKd0xaZldWaXdDUmphYm9qd1ZLd3U0
R3d4Z2dKdU1JSUNhZ0lCQVRCc01HY3hDekFKQmdOVkJBWVRBbFZUTVJNdwpFUVlEVlFRSURBcFRi
MjFsTFZOMFlYUmxNUTh3RFFZRFZRUUhEQVpCSUVOcGRIa3hJREFlQmdOVkJBb01GMEVnClEyVnlk
R2xtYVdOaGRHbHZiaUJEYjIxd1lXNTVNUkF3RGdZRFZRUUREQWRCUTBWU1ZFTlBBZ0VCTUFrR0JT
c08KQXdJYUJRQ2dnZGd3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEFjQmdrcWhr
aUc5dzBCQ1FVeApEeGNOTVRNd05UTXdNVEV4TkRNM1dqQWpCZ2txaGtpRzl3MEJDUVF4RmdRVUdB
YlFtZEp1akhYZkM2ZGFjK09qCmVLcVJGOTh3ZVFZSktvWklodmNOQVFrUE1Xd3dhakFMQmdsZ2hr
Z0JaUU1FQVNvd0N3WUpZSVpJQVdVREJBRVcKTUFzR0NXQ0dTQUZsQXdRQkFqQUtCZ2dxaGtpRzl3
MERCekFPQmdncWhraUc5dzBEQWdJQ0FJQXdEUVlJS29aSQpodmNOQXdJQ0FVQXdCd1lGS3c0REFn
Y3dEUVlJS29aSWh2Y05Bd0lDQVNnd0RRWUpLb1pJaHZjTkFRRUJCUUFFCmdnRUFjY2FyY1k0YjI0
NHdLU3lZejB5VlpQTGVBR05zTWIrWUYxSE1MSjU4MzQvN3Q0Q1d1eUYvY0g1L3prTFMKQmtLQzM0
bjhzcGQvbll3QU5NUUdjOS9QZGl0VHR3eEUybHkzVksweFRGZDh0eE5zd2NUd3Qxb2cvSzR5MFR5
VwpqcW1ob1R6TzBKUnFIYmVBUHpQMzVSdkxSc0NCQUt1Tit6OG1aUU9sZDk3dDZ5RllZUUdZWkFI
Q3FOenlaS01nCmlPZWltZVdvdWVENTQ3RjRjYk9RS3hhdExSL25Ha2xBcTlnMGxhNHF6VnlmV2pW
L2ttWml3VlBlTVNHUGVwcEQKbEkySHNWdmVCZ0poaFJZRkM4V2pmU014YU50TUE5czZCclpSSjI0
VFQ2SlFmdzJsVlU2aGxLY1BuRUR4RWExVApIbU9vTHFQcU1vMTZoeldxbEZvMjMwbS9Ndz09Cgot
LS0tLS04OEZFMDc1QTJDQTRFRUY4Q0IwOUU3MEI5ODJBNzgwMy0tCgo=
_______________________________________________
Cryptlib mailing list
[email protected] via Mail: [email protected]
Archive: ftp://ftp.franken.de/pub/crypt/cryptlib/archives/
http://news.gmane.org/gmane.comp.encryption.cryptlib
Posts from non-subscribed addresses are blocked to prevent spam, please
subscribe in order to post messages.