From cryptlib@mbsks.franken.de Thu Nov 8 12:05:28 2001 From: cryptlib@mbsks.franken.de (Anton) Date: Thu, 8 Nov 2001 04:05:28 -0800 Subject: [Cryptlib] ERRORS - HELP Message-ID: <002101c1684d$a8842e90$b8a4c1c1@anton> This is a multi-part message in MIME format. ------=_NextPart_000_001E_01C1680A.99E221A0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable Is there anybody who know why when i push data in Envelope it allways = return me an error:50 and decrypt data or error:32 and after that evryting is fail.(and what this errors mean) WHERE IS THE MISTAKE PLEASE TELL ME!!!!! /* this sample below is for decrypting a file and it is working only in = first cycle(with err:50) and then err:32 err32..... and nothing at the = end the first n bytes from file only is decrypted*/ SAMPLE void DoDeCrypt (char *message, int bcount) { cryptInit(); CRYPT_KEYSET cryptKeyset; CRYPT_CONTEXT pubKeyContext; CRYPT_ENVELOPE cryptEnvelope; int requiredAttribute; FILE *outfile; void *outbuf =3D malloc(bcount); ZeroMemory(outbuf,bcount); int bytesIn,bytesOut;=20 nRezult=3DcryptKeysetOpen ( &cryptKeyset, CRYPT_UNUSED, = CRYPT_KEYSET_FILE,"my_tst.p15", CRYPT_KEYOPT_READONLY); IfError("Can't open"); nRezult=3DcryptCreateEnvelope ( &cryptEnvelope, CRYPT_UNUSED, = CRYPT_FORMAT_AUTO ); IfError("Can't set format"); doCrypt.nRezult=3DcryptSetAttribute ( cryptEnvelope, = CRYPT_ENVINFO_KEYSET_DECRYPT, cryptKeyset );=20 IfError("Can't set keyset"); =20 outfile=3Dfopen("decrypt.txt","w+"); int bufCount=3Dbcount; do { doCrypt.nRezult=3DcryptPushData ( cryptEnvelope, message, = bcount, &bytesIn ); /*HERE IS ERROR when error is 50 it's decrypt but = when 32 fails */ doCrypt.IfError("Can't set data"); =20 bufCount -=3D bytesIn; message +=3D bytesIn; =20 nRezult=3DcryptGetAttribute( cryptEnvelope, = CRYPT_ENVINFO_CURRENT_COMPONENT,&requiredAttribute ); IfError("Can't get atribute eee"); =20 if( requiredAttribute =3D=3D CRYPT_ENVINFO_PRIVATEKEY ) { nRezult=3DcryptSetAttributeString( cryptEnvelope, = CRYPT_ENVINFO_PASSWORD, "anton",5 ); IfError("Can set password for keyset"); } nRezult=3DcryptPopData ( cryptEnvelope, outbuf, bcount, = &bytesOut ); IfError("Can't pop data"); =20 fwrite( outbuf,sizeof (char),bytesOut,outfile ); } while (bufCount>0); nRezult=3DcryptPushData ( cryptEnvelope, NULL, 0, NULL ); IfError("00000"); nRezult=3DcryptPopData ( cryptEnvelope, outbuf, bcount, = &bytesOut ); IfError("Can't pop data"); =20 cryptDestroyEnvelope(cryptEnvelope ); cryptDestroyContext (pubKeyContext); cryptKeysetClose (cryptKeyset ); =20 cryptEnd(); fwrite( outbuf,sizeof (char),bytesOut, outfile ); fclose (outfile); } ------=_NextPart_000_001E_01C1680A.99E221A0 Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable
Is there anybody who know why = when i push=20 data in Envelope it allways return me an error:50 and decrypt = data
or error:32 and after that = evryting is=20 fail.(and what this errors mean)
 
 
WHERE IS THE MISTAKE PLEASE TELL=20 ME!!!!!
 
/* this sample below is for = decrypting a file=20 and it is working only in first cycle(with err:50)  and then err:32 = err32..... and nothing at the end the first n bytes from file only is=20 decrypted*/
SAMPLE
 
void DoDeCrypt (char *message, = int=20 bcount)
{
 cryptInit();
 CRYPT_KEYSET  =20 cryptKeyset;
 CRYPT_CONTEXT  = pubKeyContext;
 CRYPT_ENVELOPE=20 cryptEnvelope;
 int requiredAttribute;
 
 FILE *outfile;
 
 void *outbuf =3D=20 malloc(bcount);
 ZeroMemory(outbuf,bcount);
 
 int bytesIn,bytesOut; =
 
 nRezult=3DcryptKeysetOpen     ( = &cryptKeyset,=20 CRYPT_UNUSED, CRYPT_KEYSET_FILE,"my_tst.p15", = CRYPT_KEYOPT_READONLY);
 =20 IfError("Can't open");
 nRezult=3DcryptCreateEnvelope (=20 &cryptEnvelope, CRYPT_UNUSED, CRYPT_FORMAT_AUTO  );
 =20 IfError("Can't set=20 format");
 doCrypt.nRezult=3DcryptSetAttribute   (=20 cryptEnvelope, CRYPT_ENVINFO_KEYSET_DECRYPT, cryptKeyset = ); 
 =20 IfError("Can't set keyset");
 
 outfile=3Dfopen("decrypt.txt","w+");
 i= nt=20 bufCount=3Dbcount;

 do
 {
 =20 doCrypt.nRezult=3DcryptPushData       (=20 cryptEnvelope, message, bcount, &bytesIn ); /*HERE IS ERROR when = error is 50=20 it's decrypt but when 32 fails */
  doCrypt.IfError("Can't set = data");
  
  bufCount -=3D bytesIn;
  = message +=3D=20 bytesIn;
  
  nRezult=3DcryptGetAttribute( = cryptEnvelope,=20 CRYPT_ENVINFO_CURRENT_COMPONENT,&requiredAttribute );
 =20 IfError("Can't get atribute eee");
 
 if( requiredAttribute = =3D=3D=20 CRYPT_ENVINFO_PRIVATEKEY )
  {
  =20 nRezult=3DcryptSetAttributeString( cryptEnvelope, = CRYPT_ENVINFO_PASSWORD,=20 "anton",5 );
   IfError("Can set password for = keyset");
 =20 }
  = nRezult=3DcryptPopData        (=20 cryptEnvelope, outbuf, bcount, &bytesOut );
  IfError("Can't = pop=20 data");
 
  fwrite( outbuf,sizeof = (char),bytesOut,outfile=20 );
 }
 while (bufCount>0);
 
 nRezult=3DcryptPushData      = ; (=20 cryptEnvelope, NULL, 0, NULL );
 =20 IfError("00000");
 nRezult=3DcryptPopData    =    =20 ( cryptEnvelope, outbuf, bcount, &bytesOut );
  = IfError("Can't pop=20 data");
 
 cryptDestroyEnvelope(cryptEnvelope=20 );
 cryptDestroyContext=20 (pubKeyContext);
 cryptKeysetClose    = (cryptKeyset=20 );
 
cryptEnd();
 fwrite( = outbuf,sizeof=20 (char),bytesOut, outfile );
 fclose=20 (outfile);
}
------=_NextPart_000_001E_01C1680A.99E221A0-- From cryptlib@mbsks.franken.de Thu Nov 8 12:09:03 2001 From: cryptlib@mbsks.franken.de (Anton) Date: Thu, 8 Nov 2001 04:09:03 -0800 Subject: [Cryptlib] ICQ Message-ID: <002e01c1684e$293ebdc0$b8a4c1c1@anton> This is a multi-part message in MIME format. ------=_NextPart_000_002B_01C1680B.1A289240 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: quoted-printable ICQ#115653066 - a little help i need. ------=_NextPart_000_002B_01C1680B.1A289240 Content-Type: text/html; charset="koi8-r" Content-Transfer-Encoding: quoted-printable
ICQ#115653066 - a little help i=20 need.
------=_NextPart_000_002B_01C1680B.1A289240-- From cryptlib@mbsks.franken.de Fri Nov 9 17:02:57 2001 From: cryptlib@mbsks.franken.de (Anton) Date: Fri, 9 Nov 2001 09:02:57 -0800 Subject: [Cryptlib] pb with RSA References: Message-ID: <00b901c16940$627458a0$b8a4c1c1@anton> Tanks it is a help :)))? From cryptlib@mbsks.franken.de Fri Nov 9 17:05:03 2001 From: cryptlib@mbsks.franken.de (Anton) Date: Fri, 9 Nov 2001 09:05:03 -0800 Subject: [Cryptlib] salt & iteration count questions References: <200110120712.UAA258123@ruru.cs.auckland.ac.nz> Message-ID: <00c001c16940$ad500310$b8a4c1c1@anton> There is no need of salath here everthing is in the keyset :) From cryptlib@mbsks.franken.de Fri Nov 16 06:09:07 2001 From: cryptlib@mbsks.franken.de (Anton) Date: Thu, 15 Nov 2001 22:09:07 -0800 Subject: [Cryptlib] pb with RSA References: <001901c152e1$9f5dac00$c1d6ecd3@win2k.virtualtek.co.kr> Message-ID: <001001c16e65$34f26e60$b8a4c1c1@anton> This is a multi-part message in MIME format. ------=_NextPart_000_000D_01C16E22.2544E4E0 Content-Type: text/plain; charset="ks_c_5601-1987" Content-Transfer-Encoding: quoted-printable where can i find this function tell me ? base64encode ------=_NextPart_000_000D_01C16E22.2544E4E0 Content-Type: text/html; charset="ks_c_5601-1987" Content-Transfer-Encoding: quoted-printable
where can i find this function tell me=20 ?
 
base64encode
------=_NextPart_000_000D_01C16E22.2544E4E0-- From cryptlib@mbsks.franken.de Thu Nov 1 20:12:34 2001 From: cryptlib@mbsks.franken.de (Neil Nelson) Date: Thu, 01 Nov 2001 12:12:34 -0800 Subject: [Cryptlib] Public-Key Encryption for Internet Client-Server References: <3BE008FA.4080101@dslextreme.com> <3BE0579F.7020903@dslextreme.com> Message-ID: <3BE1ACB2.4090308@dslextreme.com> Dear Readers, I am writing the goal and path outline here so that perhaps any significant errors maybe uncovered early. GOAL: Assemble and successfully execute Internet server and client code utilizing the public-key encryption method illustrated at the top of p. 9, part 1, of the tutorial slides (available from Peter Gutmann's home page http://www.cs.auckland.ac.nz/~pgut001/tutorial/). Though it may seem that SSL/SSH and similar alternatives noted under the Secure Sessions section of the manual (p. 45) would be applicable, my impression at the moment is that those alternatives would increase the complexity and perhaps constraints beyond that usefully required. A fair amount of cryptlib code seems to be required in any case and such that the remainder can be substantially reduced to the usual TCP. As illustrated in the tutorial, all I need to do is create and transfer a public key, and then use that public key to share a conventional key and then the remainder is encrypt-tcp- decrypt. Perform the first two items at the server. (1) Implement initial and continuing data collection to support random number requirements. This is discussed beginning p. 193 of the manual. (2) Implement ongoing creation and storage of public/private keys. This will be done early and independently to minimize any request processing time at the server. The public/private keys will be stored in cryptlib private key files (see Key Databases section, particularly File Keysets beginning p. 59). Public/private key creation is on p. 70. (3) The client sends a connection request (request for public key) to the server. This is done to minimize software and processing on the client while keeping the usual Client-Server-TCP model connection orientation. (4) The server obtains a public key from the store in (2), creates a Simple Certificate as described on p. 94, puts the public key into the certificate, exports the certificate (p. 120), and sends the Simple Certificate blob to the client via TCP. This is a step that may need some commentary. It would appear it is not possible to send public keys directly in cryptlib and hence one uses a certificate. And that only that one item, the certificate blob, will be subsequently required by the client from the server to obtain the public key and return a conventional key. (5) The client imports (beginning p. 108) the certificate containing the public key (which may be stored for later use using the same method as above), obtains a conventional key (see Generating a Key into an Encryption Context, p. 70), exports the conventional key in the public key context (p. 81), sends and the exported, encrypted conventional key blob to the server. Also any message encryption by the client may begin at this point and be appended to the prior blob. This would be done using the conventional key and described under the Enveloping Concepts section (p. 25). I expect that the password-based method (p. 30) would be used, and that the password would be the conventional key. (6) The server receives the encrypted conventional key blob from the client and imports that conventional key into the continued, prior public key context. Any conventionally encrypted message appended by the client is decrypted using the conventional key and any subsequent messages/replies are encrypted using the same key and sent to the client. It may be useful to have a different conventional key for each message which then repeats the conventional key generation, export and subsequent import as done previously. Neil Nelson From cryptlib@mbsks.franken.de Thu Nov 1 21:05:17 2001 From: cryptlib@mbsks.franken.de (Constantin Bogomolnyi) Date: Thu, 1 Nov 2001 22:05:17 +0100 Subject: [Cryptlib] HOw to SIGN Windows executables under UNIX . Message-ID: <20011101220517.A90116@deine.net> Hello all , I have this very simple need : I have an verisign certificate and i need to sign 12000 small files using it . Today what i do is to use sigver.exe (from verysign) and i have an small script witch do that on my windows box . But i still need a windows box . So i'm looking for some way to sign windows executables under linux . Thanks to all ideas cb From cryptlib@mbsks.franken.de Fri Nov 2 02:39:59 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Fri, 2 Nov 2001 15:39:59 +1300 (NZDT) Subject: [Cryptlib] HOw to SIGN Windows executables under UNIX . Message-ID: <200111020239.PAA12333@ruru.cs.auckland.ac.nz> Constantin Bogomolnyi writes: >I have an verisign certificate and i need to sign 12000 small files using it . >Today what i do is to use sigver.exe (from verysign) and i have an small >script witch do that on my windows box . But i still need a windows box . So >i'm looking for some way to sign windows executables under linux . You'd have to build the tool yourself using cryptlib, it should have everything you need. The format is described in http://www.cs.auckland.ac.nz/~pgut001/pubs/authenticode.txt. I know others on this list have done this, maybe they can comment. Peter. From cryptlib@mbsks.franken.de Fri Nov 2 03:22:45 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Fri, 2 Nov 2001 16:22:45 +1300 (NZDT) Subject: [Cryptlib] Public-Key Encryption for Internet Client-Server Message-ID: <200111020322.QAA13197@ruru.cs.auckland.ac.nz> >I am writing the goal and path outline here so that perhaps any significant >errors maybe uncovered early. That's doing an awful lot of work which essentially duplicates what SSL would do anyway (actually SSL does a lot more, it offers additional integrity protection, protection against replay attacks, and various other useful things). Unless you really need to do things this way, I'd go with SSL instead, it requires a handful of function calls to implement and uses an established, widely-accepted and evaluated protocol. Doing it all by hand will take a lot of work, and may result in security holes unless you're very careful. Peter. From cryptlib@mbsks.franken.de Sat Nov 3 14:03:52 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Sun, 4 Nov 2001 03:03:52 +1300 (NZDT) Subject: [Cryptlib] cryptlib VB test program Message-ID: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> Does anyone have a simple VB test programs using cryptlib that could be used for testing the cryptlib .bas file? It doesn't have to test everything like test32 does, but just enough to check that the translation from .h to .bas was correct, ie create and use one of each object type with an appropriate attribute range coverage to catch things like off-by-one errors. Peter. From cryptlib@mbsks.franken.de Sat Nov 3 21:59:27 2001 From: cryptlib@mbsks.franken.de (Jay Moore) Date: Sat, 3 Nov 2001 15:59:27 -0600 Subject: [Cryptlib] cryptlib VB test program In-Reply-To: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> Message-ID: <3BE4145F.4529.1D59F085@localhost> On 4 Nov 2001,, you wrote: > Does anyone have a simple VB test programs using cryptlib that could be > used for testing the cryptlib .bas file? It doesn't have to test > everything like test32 does, but just enough to check that the > translation from .h to .bas was correct, ie create and use one of each > object type with an appropriate attribute range coverage to catch things > like off-by-one errors. I tried building one with CAPI.bas, and with VBCAPI.bas (using Beta 6 of cryptlib). It always crashed VB when it executed the "VBcryptPopData", or "cryptPopData" function. I posted the VB code, and a help request to this list on 16 October, but got no (helpful) responses, nor any indication why it bombed. I gave up on VB, and went back to C where all is well. I'd be happy to help out with this if someone will t'shoot the "PopData" interface. Jay Moore From cryptlib@mbsks.franken.de Sun Nov 4 11:11:37 2001 From: cryptlib@mbsks.franken.de (nachtfrosch) Date: Sun, 4 Nov 2001 12:11:37 +0100 Subject: [Cryptlib] cryptlib VB test program In-Reply-To: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> References: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> Message-ID: <271263556.20011104121137@nachtfrosch.de> Dear Peter, I found - and corrected - a mistake in some of the declarations in VBCAPI.bas for Cryptlib beta6. The problem was that strings must be passed to the DLL in BYVAL, not in BYREF. Here some function blocks that I corrected: Public Declare Function cryptCreateSignature Lib "cl32.dll" (ByRef signature As String, ByRef signatureLength As Long, ByVal signContext As Long, ByVal hashContext As Long) As Long Public Declare Function cryptCreateSignatureEx Lib "cl32.dll" (ByRef signature As String, ByRef signatureLength As Long, ByVal formatType As CRYPT_FORMAT_TYPE, ByVal signContext As Long, ByVal hashContext As Long, ByVal extraData As Long) As Long Public Declare Function cryptCheckSignature Lib "cl32.dll" (ByVal signature As String, ByVal sigCheckKey As Long, ByVal hashContext As Long) As Long Public Declare Function cryptCheckSignatureEx Lib "cl32.dll" (ByVal signature As String, ByVal sigCheckKey As Long, ByVal hashContext As Long, ByRef extraData As Long) As Long Public Declare Function cryptPushData Lib "cl32.dll" (ByVal envelope As Long, ByVal buffer As String, ByVal length As Long, ByRef bytescopied As Long) As Long Public Declare Function cryptPopData Lib "cl32.dll" (ByVal envelope As Long, ByVal buffer As String, ByVal length As Long, ByRef bytescopied As Long) As Long Public Declare Function cryptGetCertExtension Lib "cl32.dll" (ByVal cryptHandle As Long, ByVal oid As String, ByRef criticalFlag As Long, ByRef extension As String, ByRef extensionLength As Long) As Long Public Declare Function cryptAddCertExtension Lib "cl32.dll" (ByVal certificate As Long, ByVal oid As String, ByVal criticalFlag As Long, ByVal extension As String, ByVal extensionLength As Long) As Long Public Declare Function cryptDeleteCertExtension Lib "cl32.dll" (ByVal certificate As Long, ByVal oid As String) As Long I hope this helps some people; however, I personally would be very interested in VB samples as I still have some difficulties in really understanding cryptlib. Kind regards from Hamburg/Germany, Ralf. nachtfrosch gestaltung & programmierung Kerstin Heyroth | Ralf K黵bitz Martin-Luther-Strasse 10/10A D-20459 Hamburg Telephon 040-3750 3681 Fax 040-3750 3682 mailto:mail@nachtfrosch.de From cryptlib@mbsks.franken.de Sun Nov 4 15:59:46 2001 From: cryptlib@mbsks.franken.de (Leon) Date: Sun, 4 Nov 2001 17:59:46 +0200 Subject: [Cryptlib] cryptlib VB test program References: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> Message-ID: <002001c16549$ba72d3b0$01000001@ginfotech> This is a multi-part message in MIME format. ------=_NextPart_000_001D_01C1655A.7CF94EE0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Peter I have corrected the errors in my previous submissions and asked the administrator of the cryptlib file server to replace my previous submissions with the newest vb translation of cryplib.h. For your convenience it is attached. I have tested most of the functions and it seems to be fine. Further testing is however recommended. Regards Leon PS. My applogies to VB users for the inconvenience caused by the previous submissions. ----- Original Message ----- From: "Peter Gutmann" To: Sent: Saturday, November 03, 2001 4:03 PM Subject: [Cryptlib] cryptlib VB test program > Does anyone have a simple VB test programs using cryptlib that could be used > for testing the cryptlib .bas file? It doesn't have to test everything like > test32 does, but just enough to check that the translation from .h to .bas was > correct, ie create and use one of each object type with an appropriate > attribute range coverage to catch things like off-by-one errors. > > Peter. > > _______________________________________________ > Cryptlib mailing list > Cryptlib@mbsks.franken.de > Administration via Mail: cryptlib-request@mbsks.franken.de ------=_NextPart_000_001D_01C1655A.7CF94EE0 Content-Type: application/octet-stream; name="cryptlib.bas" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="cryptlib.bas" 'cryptlib.h vb translation by Leon van Zyl, October 2001 = lvz@global.co.za Option Explicit Global status as Long Public Enum CRYPT_ALGO CRYPT_ALGO_NONE CRYPT_ALGO_DES CRYPT_ALGO_3DES CRYPT_ALGO_IDEA CRYPT_ALGO_CAST CRYPT_ALGO_RC2 CRYPT_ALGO_RC4 CRYPT_ALGO_RC5 CRYPT_ALGO_AES CRYPT_ALGO_BLOWFISH CRYPT_ALGO_SKIPJACK CRYPT_ALGO_DH =3D 100 CRYPT_ALGO_RSA CRYPT_ALGO_DSA CRYPT_ALGO_ELGAMAL CRYPT_ALGO_KEA CRYPT_ALGO_MD2 =3D 200 CRYPT_ALGO_MD4 CRYPT_ALGO_MD5 CRYPT_ALGO_SHA CRYPT_ALGO_RIPEMD160 CRYPT_ALGO_HMAC_MD5 =3D 300 CRYPT_ALGO_HMAC_SHA CRYPT_ALGO_HMAC_RIPEMD160 CRYPT_ALGO_VENDOR1 =3D 10000 CRYPT_ALGO_VENDOR2 CRYPT_ALGO_VENDOR3 CRYPT_ALGO_LAST CRYPT_ALGO_FIRST_CONVENTIONAL =3D CRYPT_ALGO_DES CRYPT_ALGO_LAST_CONVENTIONAL =3D CRYPT_ALGO_DH - 1 CRYPT_ALGO_FIRST_PKC =3D CRYPT_ALGO_DH CRYPT_ALGO_LAST_PKC =3D CRYPT_ALGO_MD2 - 1 CRYPT_ALGO_FIRST_HASH =3D CRYPT_ALGO_MD2 CRYPT_ALGO_LAST_HASH =3D CRYPT_ALGO_HMAC_MD5 - 1 CRYPT_ALGO_FIRST_MAC =3D CRYPT_ALGO_HMAC_MD5 CRYPT_ALGO_LAST_MAC =3D CRYPT_ALGO_HMAC_MD5 + 99 End Enum Public Enum CRYPT_MODE CRYPT_MODE_NONE CRYPT_MODE_ECB CRYPT_MODE_CBC CRYPT_MODE_CFB CRYPT_MODE_OFB CRYPT_MODE_LAST End Enum Public Enum CRYPT_KEYSET_TYPE CRYPT_KEYSET_NONE CRYPT_KEYSET_FILE CRYPT_KEYSET_HTTP CRYPT_KEYSET_LDAP CRYPT_KEYSET_ODBC CRYPT_KEYSET_MYSQL CRYPT_KEYSET_DATABASE CRYPT_KEYSET_ODBC_STORE CRYPT_KEYSET_MYSQL_STORE CRYPT_KEYSET_DATABASE_STORE CRYPT_KEYSET_LAST CRYPT_FIRST_RDBMS =3D CRYPT_KEYSET_ODBC CRYPT_LAST_RDBMS =3D CRYPT_KEYSET_LAST - 1 End Enum Public Enum CRYPT_DEVICE_TYPE CRYPT_DEVICE_NONE CRYPT_DEVICE_FORTEZZA CRYPT_DEVICE_PKCS11 CRYPT_DEVICE_LAST End Enum Public Enum CRYPT_CERTTYPE_TYPE CRYPT_CERTTYPE_NONE CRYPT_CERTTYPE_CERTIFICATE CRYPT_CERTTYPE_ATTRIBUTE_CERT CRYPT_CERTTYPE_CERTCHAIN CRYPT_CERTTYPE_CERTREQUEST CRYPT_CERTTYPE_REQUEST_CERT CRYPT_CERTTYPE_REQUEST_REVOCATION CRYPT_CERTTYPE_CRL CRYPT_CERTTYPE_CMS_ATTRIBUTES CRYPT_CERTTYPE_OCSP_REQUEST CRYPT_CERTTYPE_OCSP_RESPONSE CRYPT_CERTTYPE_CMS_CERTSET CRYPT_CERTTYPE_SSL_CERTCHAIN CRYPT_CERTTYPE_LAST CRYPT_CERTTYPE_LAST_EXTERNAL =3D CRYPT_CERTTYPE_CMS_CERTSET End Enum Public Enum CRYPT_FORMAT_TYPE CRYPT_FORMAT_NONE CRYPT_FORMAT_AUTO CRYPT_FORMAT_CRYPTLIB CRYPT_FORMAT_CMS CRYPT_FORMAT_PKCS7 =3D CRYPT_FORMAT_CMS CRYPT_FORMAT_SMIME CRYPT_FORMAT_PGP CRYPT_FORMAT_LAST End Enum Public Enum CRYPT_SESSION_TYPE CRYPT_SESSION_NONE CRYPT_SESSION_SSH CRYPT_SESSION_SSH_SERVER CRYPT_SESSION_SSL CRYPT_SESSION_SSL_SERVER CRYPT_SESSION_OCSP CRYPT_SESSION_OCSP_SERVER CRYPT_SESSION_TSP CRYPT_SESSION_TSP_SERVER CRYPT_SESSION_CMP CRYPT_SESSION_CMP_SERVER CRYPT_SESSION_LAST End Enum Public Enum CRYPT_USER_TYPE CRYPT_USER_NONE CRYPT_USER_NORMAL CRYPT_USER_SO CRYPT_USER_CA CRYPT_USER_LAST End Enum Public Enum CRYPT_ATTRIBUTE_TYPE CRYPT_ATTRIBUTE_NONE CRYPT_PROPERTY_FIRST CRYPT_PROPERTY_HIGHSECURITY CRYPT_PROPERTY_OWNER CRYPT_PROPERTY_FORWARDABLE CRYPT_PROPERTY_LOCKED CRYPT_PROPERTY_USAGECOUNT CRYPT_PROPERTY_NONEXPORTABLE CRYPT_PROPERTY_LAST CRYPT_GENERIC_FIRST CRYPT_ATTRIBUTE_ERRORTYPE CRYPT_ATTRIBUTE_ERRORLOCUS CRYPT_ATTRIBUTE_INT_ERRORCODE CRYPT_ATTRIBUTE_INT_ERRORMESSAGE CRYPT_ATTRIBUTE_BUFFERSIZE CRYPT_GENERIC_LAST CRYPT_OPTION_FIRST =3D 100 CRYPT_OPTION_INFO_DESCRIPTION CRYPT_OPTION_INFO_COPYRIGHT CRYPT_OPTION_INFO_MAJORVERSION CRYPT_OPTION_INFO_MINORVERSION CRYPT_OPTION_INFO_STEPPING CRYPT_OPTION_ENCR_ALGO CRYPT_OPTION_ENCR_HASH CRYPT_OPTION_ENCR_MAC CRYPT_OPTION_PKC_ALGO CRYPT_OPTION_PKC_KEYSIZE CRYPT_OPTION_SIG_ALGO CRYPT_OPTION_SIG_KEYSIZE CRYPT_OPTION_KEYING_ALGO CRYPT_OPTION_KEYING_ITERATIONS CRYPT_OPTION_CERT_CREATEV3CERT CRYPT_OPTION_CERT_PKCS10ALT CRYPT_OPTION_CERT_FIXEMAILADDRESS CRYPT_OPTION_CERT_SIGNUNRECOGNISEDATTRIBUTES CRYPT_OPTION_CERT_TRUSTCHAINROOT CRYPT_OPTION_CERT_VALIDITY CRYPT_OPTION_CERT_UPDATEINTERVAL CRYPT_OPTION_CERT_ENCODE_VALIDITYNESTING CRYPT_OPTION_CERT_DECODE_VALIDITYNESTING CRYPT_OPTION_CERT_ENCODE_CRITICAL CRYPT_OPTION_CERT_DECODE_CRITICAL CRYPT_OPTION_CMS_DEFAULTATTRIBUTES CRYPT_OPTION_SMIME_DEFAULTATTRIBUTES =3D = CRYPT_OPTION_CMS_DEFAULTATTRIBUTES CRYPT_OPTION_KEYS_LDAP_OBJECTCLASS CRYPT_OPTION_KEYS_LDAP_OBJECTTYPE CRYPT_OPTION_KEYS_LDAP_CACERTNAME CRYPT_OPTION_KEYS_LDAP_CERTNAME CRYPT_OPTION_KEYS_LDAP_CRLNAME CRYPT_OPTION_KEYS_LDAP_EMAILNAME CRYPT_OPTION_DEVICE_PKCS11_DVR01 CRYPT_OPTION_DEVICE_PKCS11_DVR02 CRYPT_OPTION_DEVICE_PKCS11_DVR03 CRYPT_OPTION_DEVICE_PKCS11_DVR04 CRYPT_OPTION_DEVICE_PKCS11_DVR05 CRYPT_OPTION_DEVICE_PKCS11_HARDWAREONLY CRYPT_OPTION_DEVICE_SERIALRNG CRYPT_OPTION_DEVICE_SERIALRNG_PARAMS CRYPT_OPTION_NET_SOCKS_SERVER CRYPT_OPTION_NET_SOCKS_USERNAME CRYPT_OPTION_NET_HTTP_PROXY CRYPT_OPTION_NET_TIMEOUT CRYPT_OPTION_MISC_ASYNCINIT CRYPT_OPTION_CONFIGCHANGED CRYPT_OPTION_LAST CRYPT_CTXINFO_FIRST =3D 1000 CRYPT_CTXINFO_ALGO CRYPT_CTXINFO_MODE CRYPT_CTXINFO_NAME_ALGO CRYPT_CTXINFO_NAME_MODE CRYPT_CTXINFO_KEYSIZE CRYPT_CTXINFO_BLOCKSIZE CRYPT_CTXINFO_IVSIZE CRYPT_CTXINFO_KEYING_ALGO CRYPT_CTXINFO_KEYING_ITERATIONS CRYPT_CTXINFO_KEYING_SALT CRYPT_CTXINFO_KEYING_VALUE CRYPT_CTXINFO_KEY CRYPT_CTXINFO_KEY_COMPONENTS CRYPT_CTXINFO_IV CRYPT_CTXINFO_HASHVALUE CRYPT_CTXINFO_LABEL CRYPT_CTXINFO_LAST CRYPT_CERTINFO_FIRST =3D 2000 CRYPT_CERTINFO_SELFSIGNED CRYPT_CERTINFO_IMMUTABLE CRYPT_CERTINFO_XYZZY CRYPT_CERTINFO_CERTTYPE CRYPT_CERTINFO_FINGERPRINT CRYPT_CERTINFO_FINGERPRINT_MD5 =3D CRYPT_CERTINFO_FINGERPRINT CRYPT_CERTINFO_FINGERPRINT_SHA CRYPT_CERTINFO_CURRENT_CERTIFICATE CRYPT_CERTINFO_CURRENT_EXTENSION CRYPT_CERTINFO_CURRENT_FIELD CRYPT_CERTINFO_CURRENT_COMPONENT CRYPT_CERTINFO_TRUSTED_USAGE CRYPT_CERTINFO_TRUSTED_IMPLICIT CRYPT_CERTINFO_SERIALNUMBER CRYPT_CERTINFO_SUBJECTPUBLICKEYINFO CRYPT_CERTINFO_USERCERTIFICATE CRYPT_CERTINFO_CERTIFICATE =3D CRYPT_CERTINFO_USERCERTIFICATE CRYPT_CERTINFO_CACERTIFICATE CRYPT_CERTINFO_ISSUERNAME CRYPT_CERTINFO_VALIDFROM CRYPT_CERTINFO_VALIDTO CRYPT_CERTINFO_SUBJECTNAME CRYPT_CERTINFO_ISSUERUNIQUEID CRYPT_CERTINFO_SUBJECTUNIQUEID CRYPT_CERTINFO_CERTREQUEST CRYPT_CERTINFO_THISUPDATE CRYPT_CERTINFO_NEXTUPDATE CRYPT_CERTINFO_REVOCATIONDATE CRYPT_CERTINFO_REVOCATIONSTATUS CRYPT_CERTINFO_DN CRYPT_CERTINFO_COUNTRYNAME =3D CRYPT_CERTINFO_FIRST + 100 CRYPT_CERTINFO_STATEORPROVINCENAME CRYPT_CERTINFO_LOCALITYNAME CRYPT_CERTINFO_ORGANIZATIONNAME CRYPT_CERTINFO_ORGANISATIONNAME =3D CRYPT_CERTINFO_ORGANIZATIONNAME CRYPT_CERTINFO_ORGANIZATIONALUNITNAME CRYPT_CERTINFO_ORGANISATIONALUNITNAME =3D = CRYPT_CERTINFO_ORGANIZATIONALUNITNAME CRYPT_CERTINFO_COMMONNAME CRYPT_CERTINFO_OTHERNAME_TYPEID CRYPT_CERTINFO_OTHERNAME_VALUE CRYPT_CERTINFO_RFC822NAME CRYPT_CERTINFO_EMAIL =3D CRYPT_CERTINFO_RFC822NAME CRYPT_CERTINFO_DNSNAME CRYPT_CERTINFO_X400ADDRESS CRYPT_CERTINFO_DIRECTORYNAME CRYPT_CERTINFO_EDIPARTYNAME_NAMEASSIGNER CRYPT_CERTINFO_EDIPARTYNAME_PARTYNAME CRYPT_CERTINFO_UNIFORMRESOURCEIDENTIFIER CRYPT_CERTINFO_IPADDRESS CRYPT_CERTINFO_REGISTEREDID CRYPT_CERTINFO_AUTHORITYINFOACCESS =3D CRYPT_CERTINFO_FIRST + 200 CRYPT_CERTINFO_AUTHORITYINFO_OCSP CRYPT_CERTINFO_AUTHORITYINFO_CAISSUERS CRYPT_CERTINFO_OCSP_NONCE CRYPT_CERTINFO_OCSP_NOCHECK CRYPT_CERTINFO_OCSP_ARCHIVECUTOFF CRYPT_CERTINFO_SIGG_DATEOFCERTGEN CRYPT_CERTINFO_SIGG_PROCURATION CRYPT_CERTINFO_SIGG_PROCURE_COUNTRY CRYPT_CERTINFO_SIGG_PROCURE_TYPEOFSUBSTITUTION CRYPT_CERTINFO_SIGG_PROCURE_SIGNINGFOR CRYPT_CERTINFO_SIGG_MONETARYLIMIT CRYPT_CERTINFO_SIGG_MONETARY_CURRENCY CRYPT_CERTINFO_SIGG_MONETARY_AMOUNT CRYPT_CERTINFO_SIGG_MONETARY_EXPONENT CRYPT_CERTINFO_SIGG_RESTRICTION CRYPT_CERTINFO_STRONGEXTRANET CRYPT_CERTINFO_STRONGEXTRANET_ZONE CRYPT_CERTINFO_STRONGEXTRANET_ID CRYPT_CERTINFO_SUBJECTDIRECTORYATTRIBUTES CRYPT_CERTINFO_SUBJECTDIR_TYPE CRYPT_CERTINFO_SUBJECTDIR_VALUES CRYPT_CERTINFO_SUBJECTKEYIDENTIFIER CRYPT_CERTINFO_KEYUSAGE CRYPT_CERTINFO_PRIVATEKEYUSAGEPERIOD CRYPT_CERTINFO_PRIVATEKEY_NOTBEFORE CRYPT_CERTINFO_PRIVATEKEY_NOTAFTER CRYPT_CERTINFO_SUBJECTALTNAME CRYPT_CERTINFO_ISSUERALTNAME CRYPT_CERTINFO_BASICCONSTRAINTS CRYPT_CERTINFO_CA CRYPT_CERTINFO_AUTHORITY =3D CRYPT_CERTINFO_CA CRYPT_CERTINFO_PATHLENCONSTRAINT CRYPT_CERTINFO_CRLNUMBER CRYPT_CERTINFO_CRLREASON CRYPT_CERTINFO_HOLDINSTRUCTIONCODE CRYPT_CERTINFO_INVALIDITYDATE CRYPT_CERTINFO_DELTACRLINDICATOR CRYPT_CERTINFO_ISSUINGDISTRIBUTIONPOINT CRYPT_CERTINFO_ISSUINGDIST_FULLNAME CRYPT_CERTINFO_ISSUINGDIST_USERCERTSONLY CRYPT_CERTINFO_ISSUINGDIST_CACERTSONLY CRYPT_CERTINFO_ISSUINGDIST_SOMEREASONSONLY CRYPT_CERTINFO_ISSUINGDIST_INDIRECTCRL CRYPT_CERTINFO_CERTIFICATEISSUER CRYPT_CERTINFO_NAMECONSTRAINTS CRYPT_CERTINFO_PERMITTEDSUBTREES CRYPT_CERTINFO_EXCLUDEDSUBTREES CRYPT_CERTINFO_CRLDISTRIBUTIONPOINT CRYPT_CERTINFO_CRLDIST_FULLNAME CRYPT_CERTINFO_CRLDIST_REASONS CRYPT_CERTINFO_CRLDIST_CRLISSUER CRYPT_CERTINFO_CERTIFICATEPOLICIES CRYPT_CERTINFO_CERTPOLICYID CRYPT_CERTINFO_CERTPOLICY_CPSURI CRYPT_CERTINFO_CERTPOLICY_ORGANIZATION CRYPT_CERTINFO_CERTPOLICY_NOTICENUMBERS CRYPT_CERTINFO_CERTPOLICY_EXPLICITTEXT CRYPT_CERTINFO_POLICYMAPPINGS CRYPT_CERTINFO_ISSUERDOMAINPOLICY CRYPT_CERTINFO_SUBJECTDOMAINPOLICY CRYPT_CERTINFO_AUTHORITYKEYIDENTIFIER CRYPT_CERTINFO_AUTHORITY_KEYIDENTIFIER CRYPT_CERTINFO_AUTHORITY_CERTISSUER CRYPT_CERTINFO_AUTHORITY_CERTSERIALNUMBER CRYPT_CERTINFO_POLICYCONSTRAINTS CRYPT_CERTINFO_REQUIREEXPLICITPOLICY CRYPT_CERTINFO_INHIBITPOLICYMAPPING CRYPT_CERTINFO_EXTKEYUSAGE CRYPT_CERTINFO_EXTKEY_MS_INDIVIDUALCODESIGNING CRYPT_CERTINFO_EXTKEY_MS_COMMERCIALCODESIGNING CRYPT_CERTINFO_EXTKEY_MS_CERTTRUSTLISTSIGNING CRYPT_CERTINFO_EXTKEY_MS_TIMESTAMPSIGNING CRYPT_CERTINFO_EXTKEY_MS_SERVERGATEDCRYPTO CRYPT_CERTINFO_EXTKEY_MS_ENCRYPTEDFILESYSTEM CRYPT_CERTINFO_EXTKEY_SERVERAUTH CRYPT_CERTINFO_EXTKEY_CLIENTAUTH CRYPT_CERTINFO_EXTKEY_CODESIGNING CRYPT_CERTINFO_EXTKEY_EMAILPROTECTION CRYPT_CERTINFO_EXTKEY_IPSECENDSYSTEM CRYPT_CERTINFO_EXTKEY_IPSECTUNNEL CRYPT_CERTINFO_EXTKEY_IPSECUSER CRYPT_CERTINFO_EXTKEY_TIMESTAMPING CRYPT_CERTINFO_EXTKEY_OCSPSIGNING CRYPT_CERTINFO_EXTKEY_DIRECTORYSERVICE CRYPT_CERTINFO_EXTKEY_NS_SERVERGATEDCRYPTO CRYPT_CERTINFO_EXTKEY_VS_SERVERGATEDCRYPTO_CA CRYPT_CERTINFO_NS_CERTTYPE CRYPT_CERTINFO_NS_BASEURL CRYPT_CERTINFO_NS_REVOCATIONURL CRYPT_CERTINFO_NS_CAREVOCATIONURL CRYPT_CERTINFO_NS_CERTRENEWALURL CRYPT_CERTINFO_NS_CAPOLICYURL CRYPT_CERTINFO_NS_SSLSERVERNAME CRYPT_CERTINFO_NS_COMMENT CRYPT_CERTINFO_SET_HASHEDROOTKEY CRYPT_CERTINFO_SET_ROOTKEYTHUMBPRINT CRYPT_CERTINFO_SET_CERTIFICATETYPE CRYPT_CERTINFO_SET_MERCHANTDATA CRYPT_CERTINFO_SET_MERID CRYPT_CERTINFO_SET_MERACQUIRERBIN CRYPT_CERTINFO_SET_MERCHANTLANGUAGE CRYPT_CERTINFO_SET_MERCHANTNAME CRYPT_CERTINFO_SET_MERCHANTCITY CRYPT_CERTINFO_SET_MERCHANTSTATEPROVINCE CRYPT_CERTINFO_SET_MERCHANTPOSTALCODE CRYPT_CERTINFO_SET_MERCHANTCOUNTRYNAME CRYPT_CERTINFO_SET_MERCOUNTRY CRYPT_CERTINFO_SET_MERAUTHFLAG CRYPT_CERTINFO_SET_CERTCARDREQUIRED CRYPT_CERTINFO_SET_TUNNELING CRYPT_CERTINFO_SET_TUNNELINGFLAG CRYPT_CERTINFO_SET_TUNNELINGALGID CRYPT_CERTINFO_CMS_CONTENTTYPE =3D CRYPT_CERTINFO_FIRST + 500 CRYPT_CERTINFO_CMS_MESSAGEDIGEST CRYPT_CERTINFO_CMS_SIGNINGTIME CRYPT_CERTINFO_CMS_COUNTERSIGNATURE CRYPT_CERTINFO_CMS_SMIMECAPABILITIES CRYPT_CERTINFO_CMS_SMIMECAP_3DES CRYPT_CERTINFO_CMS_SMIMECAP_AES CRYPT_CERTINFO_CMS_SMIMECAP_CAST128 CRYPT_CERTINFO_CMS_SMIMECAP_IDEA CRYPT_CERTINFO_CMS_SMIMECAP_RC2 CRYPT_CERTINFO_CMS_SMIMECAP_RC5 CRYPT_CERTINFO_CMS_SMIMECAP_SKIPJACK CRYPT_CERTINFO_CMS_SMIMECAP_DES CRYPT_CERTINFO_CMS_SMIMECAP_PREFERSIGNEDDATA CRYPT_CERTINFO_CMS_SMIMECAP_CANNOTDECRYPTANY CRYPT_CERTINFO_CMS_RECEIPTREQUEST CRYPT_CERTINFO_CMS_RECEIPT_CONTENTIDENTIFIER CRYPT_CERTINFO_CMS_RECEIPT_FROM CRYPT_CERTINFO_CMS_RECEIPT_TO CRYPT_CERTINFO_CMS_SECURITYLABEL CRYPT_CERTINFO_CMS_SECLABEL_CLASSIFICATION CRYPT_CERTINFO_CMS_SECLABEL_POLICY CRYPT_CERTINFO_CMS_SECLABEL_PRIVACYMARK CRYPT_CERTINFO_CMS_SECLABEL_CATTYPE CRYPT_CERTINFO_CMS_SECLABEL_CATVALUE CRYPT_CERTINFO_CMS_MLEXPANSIONHISTORY CRYPT_CERTINFO_CMS_MLEXP_ENTITYIDENTIFIER CRYPT_CERTINFO_CMS_MLEXP_TIME CRYPT_CERTINFO_CMS_MLEXP_NONE CRYPT_CERTINFO_CMS_MLEXP_INSTEADOF CRYPT_CERTINFO_CMS_MLEXP_INADDITIONTO CRYPT_CERTINFO_CMS_CONTENTHINTS CRYPT_CERTINFO_CMS_CONTENTHINT_DESCRIPTION CRYPT_CERTINFO_CMS_CONTENTHINT_TYPE CRYPT_CERTINFO_CMS_EQUIVALENTLABEL CRYPT_CERTINFO_CMS_EQVLABEL_POLICY CRYPT_CERTINFO_CMS_EQVLABEL_CLASSIFICATION CRYPT_CERTINFO_CMS_EQVLABEL_PRIVACYMARK CRYPT_CERTINFO_CMS_EQVLABEL_CATTYPE CRYPT_CERTINFO_CMS_EQVLABEL_CATVALUE CRYPT_CERTINFO_CMS_SIGNINGCERTIFICATE CRYPT_CERTINFO_CMS_SIGNINGCERT_CERTS CRYPT_CERTINFO_CMS_SIGNINGCERT_POLICIES CRYPT_CERTINFO_CMS_SPCAGENCYINFO CRYPT_CERTINFO_CMS_SPCAGENCYURL CRYPT_CERTINFO_CMS_SPCSTATEMENTTYPE CRYPT_CERTINFO_CMS_SPCSTMT_INDIVIDUALCODESIGNING CRYPT_CERTINFO_CMS_SPCSTMT_COMMERCIALCODESIGNING CRYPT_CERTINFO_CMS_SPCOPUSINFO CRYPT_CERTINFO_LAST CRYPT_KEYINFO_FIRST =3D 3000 CRYPT_KEYINFO_QUERY CRYPT_KEYINFO_QUERY_REQUESTS CRYPT_KEYINFO_LAST CRYPT_DEVINFO_FIRST =3D 4000 CRYPT_DEVINFO_INITIALISE CRYPT_DEVINFO_INITIALIZE =3D CRYPT_DEVINFO_INITIALISE CRYPT_DEVINFO_AUTHENT_USER CRYPT_DEVINFO_AUTHENT_SUPERVISOR CRYPT_DEVINFO_SET_AUTHENT_USER CRYPT_DEVINFO_SET_AUTHENT_SUPERVISOR CRYPT_DEVINFO_ZEROISE CRYPT_DEVINFO_ZEROIZE =3D CRYPT_DEVINFO_ZEROISE CRYPT_DEVINFO_LOGGEDIN CRYPT_DEVINFO_LABEL CRYPT_DEVINFO_LAST CRYPT_ENVINFO_FIRST =3D 5000 CRYPT_ENVINFO_DATASIZE CRYPT_ENVINFO_COMPRESSION CRYPT_ENVINFO_CONTENTTYPE CRYPT_ENVINFO_DETACHEDSIGNATURE CRYPT_ENVINFO_SIGNATURE_RESULT CRYPT_ENVINFO_MAC CRYPT_ENVINFO_CURRENT_COMPONENT CRYPT_ENVINFO_PASSWORD CRYPT_ENVINFO_KEY CRYPT_ENVINFO_SIGNATURE CRYPT_ENVINFO_SIGNATURE_EXTRADATA CRYPT_ENVINFO_RECIPIENT CRYPT_ENVINFO_PUBLICKEY CRYPT_ENVINFO_PRIVATEKEY CRYPT_ENVINFO_PRIVATEKEY_LABEL CRYPT_ENVINFO_ORIGINATOR CRYPT_ENVINFO_SESSIONKEY CRYPT_ENVINFO_HASH CRYPT_ENVINFO_TIMESTAMP_AUTHORITY CRYPT_ENVINFO_KEYSET_SIGCHECK CRYPT_ENVINFO_KEYSET_ENCRYPT CRYPT_ENVINFO_KEYSET_DECRYPT CRYPT_ENVINFO_LAST CRYPT_SESSINFO_FIRST =3D 6000 CRYPT_SESSINFO_ACTIVE CRYPT_SESSINFO_USERNAME CRYPT_SESSINFO_PASSWORD CRYPT_SESSINFO_PRIVATEKEY CRYPT_SESSINFO_KEYSET CRYPT_SESSINFO_SERVER_NAME CRYPT_SESSINFO_SERVER_PORT CRYPT_SESSINFO_PROTOCOLVERSION CRYPT_SESSINFO_REQUEST CRYPT_SESSINFO_RESPONSE CRYPT_SESSINFO_TSP_MSGIMPRINT CRYPT_SESSINFO_CMP_CACERTIFICATE CRYPT_SESSINFO_CMP_REQUESTTYPE CRYPT_SESSINFO_LAST CRYPT_USERINFO_FIRST =3D 7000 CRYPT_USERINFO_PASSWORD CRYPT_USERINFO_LAST CRYPT_ATTRIBUTE_LAST =3D CRYPT_USERINFO_LAST CRYPT_IATTRIBUTE_FIRST =3D 8000 CRYPT_IATTRIBUTE_TYPE CRYPT_IATTRIBUTE_STATUS CRYPT_IATTRIBUTE_INTERNAL CRYPT_IATTRIBUTE_ACTIONPERMS CRYPT_IATTRIBUTE_INITIALISED CRYPT_IATTRIBUTE_KEYSIZE CRYPT_IATTRIBUTE_KEYID CRYPT_IATTRIBUTE_DOMAINPARAMS CRYPT_IATTRIBUTE_PUBLICVALUE CRYPT_IATTRIBUTE_PUBLICKEY CRYPT_IATTRIBUTE_SSH_PUBLICKEY CRYPT_IATTRIBUTE_DEVICEOBJECT CRYPT_IATTRIBUTE_CERTID CRYPT_IATTRIBUTE_CRLENTRY CRYPT_IATTRIBUTE_SUBJECT CRYPT_IATTRIBUTE_ISSUER CRYPT_IATTRIBUTE_ISSUERANDSERIALNUMBER CRYPT_IATTRIBUTE_CERTSET CRYPT_IATTRIBUTE_SPKI CRYPT_IATTRIBUTE_ENC_CERT CRYPT_IATTRIBUTE_ENC_CERTCHAIN CRYPT_IATTRIBUTE_ENC_OBJDATA CRYPT_IATTRIBUTE_TEXT_CERT CRYPT_IATTRIBUTE_TEXT_CERTCHAIN CRYPT_IATTRIBUTE_OCSPSERVER CRYPT_IATTRIBUTE_OCSPREQUEST CRYPT_IATTRIBUTE_REVREQUEST CRYPT_IATTRIBUTE_RANDOM CRYPT_IATTRIBUTE_RANDOM_NZ CRYPT_IATTRIBUTE_RANDOM_QUALITY CRYPT_IATTRIBUTE_CONFIGDATA CRYPT_IATTRIBUTE_USERINDEX CRYPT_IATTRIBUTE_USERID CRYPT_IATTRIBUTE_USERINFO CRYPT_IATTRIBUTE_TRUSTEDCERT CRYPT_IATTRIBUTE_TRUSTEDCERT_NEXT CRYPT_IATTRIBUTE_ENC_TIMESTAMP CRYPT_IATTRIBUTE_LAST CRYPT_CERTINFO_FIRST_CERTINFO =3D CRYPT_CERTINFO_SELFSIGNED - 1 CRYPT_CERTINFO_LAST_CERTINFO =3D CRYPT_CERTINFO_DN + 1 CRYPT_CERTINFO_FIRST_NAME =3D CRYPT_CERTINFO_COUNTRYNAME - 1 CRYPT_CERTINFO_LAST_NAME =3D CRYPT_CERTINFO_REGISTEREDID + 1 CRYPT_CERTINFO_FIRST_EXTENSION =3D = CRYPT_CERTINFO_AUTHORITYINFOACCESS - 1 CRYPT_CERTINFO_LAST_EXTENSION =3D CRYPT_CERTINFO_SET_TUNNELINGALGID = + 1 CRYPT_CERTINFO_FIRST_CMS =3D CRYPT_CERTINFO_CMS_CONTENTTYPE - 1 CRYPT_CERTINFO_LAST_CMS =3D CRYPT_CERTINFO_LAST CRYPT_SESSINFO_FIRST_SPECIFIC =3D CRYPT_SESSINFO_REQUEST CRYPT_SESSINFO_LAST_SPECIFIC =3D CRYPT_SESSINFO_CMP_REQUESTTYPE CRYPT_FIRST_PSEUDOINFO =3D CRYPT_CERTINFO_SELFSIGNED CRYPT_LAST_PSEUDOINFO =3D CRYPT_CERTINFO_TRUSTED_IMPLICIT CRYPT_FIRST_CERTINFO =3D CRYPT_CERTINFO_SERIALNUMBER CRYPT_LAST_CERTINFO =3D CRYPT_CERTINFO_REVOCATIONDATE CRYPT_FIRST_DN =3D CRYPT_CERTINFO_COUNTRYNAME CRYPT_LAST_DN =3D CRYPT_CERTINFO_COMMONNAME CRYPT_FIRST_GENERALNAME =3D CRYPT_CERTINFO_OTHERNAME_TYPEID CRYPT_LAST_GENERALNAME =3D CRYPT_CERTINFO_REGISTEREDID CRYPT_FIRST_EXTENSION =3D CRYPT_CERTINFO_AUTHORITYINFOACCESS CRYPT_LAST_EXTENSION =3D CRYPT_CERTINFO_SET_TUNNELINGALGID CRYPT_FIRST_CMS =3D CRYPT_CERTINFO_CMS_CONTENTTYPE CRYPT_LAST_CMS =3D CRYPT_CERTINFO_LAST - 1 End Enum Public Const CRYPT_KEYUSAGE_NONE as Long =3D &H000 Public Const CRYPT_KEYUSAGE_DIGITALSIGNATURE as Long =3D &H001 Public Const CRYPT_KEYUSAGE_NONREPUDIATION as Long =3D &H002 Public Const CRYPT_KEYUSAGE_KEYENCIPHERMENT as Long =3D &H004 Public Const CRYPT_KEYUSAGE_DATAENCIPHERMENT as Long =3D &H008 Public Const CRYPT_KEYUSAGE_KEYAGREEMENT as Long =3D &H010 Public Const CRYPT_KEYUSAGE_KEYCERTSIGN as Long =3D &H020 Public Const CRYPT_KEYUSAGE_CRLSIGN as Long =3D &H040 Public Const CRYPT_KEYUSAGE_ENCIPHERONLY as Long =3D &H080 Public Const CRYPT_KEYUSAGE_DECIPHERONLY as Long =3D &H100 Public Const CRYPT_KEYUSAGE_LAST as Long =3D &H200 Public Enum CRYPT_CRLREASON CRYPT_CRLREASON_UNSPECIFIED CRYPT_CRLREASON_KEYCOMPROMISE CRYPT_CRLREASON_CACOMPROMISE CRYPT_CRLREASON_AFFILIATIONCHANGED CRYPT_CRLREASON_SUPERSEDED CRYPT_CRLREASON_CESSATIONOFOPERATION CRYPT_CRLREASON_CERTIFICATEHOLD CRYPT_CRLREASON_REMOVEFROMCRL =3D 8 CRYPT_CRLREASON_LAST=20 End Enum Public Const CRYPT_CRLREASONFLAG_UNUSED as Long =3D &H001 Public Const CRYPT_CRLREASONFLAG_KEYCOMPROMISE as Long =3D &H002 Public Const CRYPT_CRLREASONFLAG_CACOMPROMISE as Long =3D &H004 Public Const CRYPT_CRLREASONFLAG_AFFILIATIONCHANGED as Long =3D &H008 Public Const CRYPT_CRLREASONFLAG_SUPERSEDED as Long =3D &H010 Public Const CRYPT_CRLREASONFLAG_CESSATIONOFOPERATION as Long =3D &H020 Public Const CRYPT_CRLREASONFLAG_CERTIFICATEHOLD as Long =3D &H040 Public Const CRYPT_CRLREASONFLAG_LAST as Long =3D &H080 Public Enum CRYPT_HOLDINSTRUCTION CRYPT_HOLDINSTRUCTION_NONE CRYPT_HOLDINSTRUCTION_CALLISSUER CRYPT_HOLDINSTRUCTION_REJECT CRYPT_HOLDINSTRUCTION_PICKUPTOKEN CRYPT_HOLDINSTRUCTION_LAST=20 End Enum Public Const CRYPT_NS_CERTTYPE_SSLCLIENT as Long =3D &H001 Public Const CRYPT_NS_CERTTYPE_SSLSERVER as Long =3D &H002 Public Const CRYPT_NS_CERTTYPE_SMIME as Long =3D &H004 Public Const CRYPT_NS_CERTTYPE_OBJECTSIGNING as Long =3D &H008 Public Const CRYPT_NS_CERTTYPE_RESERVED as Long =3D &H010 Public Const CRYPT_NS_CERTTYPE_SSLCA as Long =3D &H020 Public Const CRYPT_NS_CERTTYPE_SMIMECA as Long =3D &H040 Public Const CRYPT_NS_CERTTYPE_OBJECTSIGNINGCA as Long =3D &H080 Public Const CRYPT_NS_CERTTYPE_LAST as Long =3D &H100 Public Const CRYPT_SET_CERTTYPE_CARD as Long =3D &H001 Public Const CRYPT_SET_CERTTYPE_MER as Long =3D &H002 Public Const CRYPT_SET_CERTTYPE_PGWY as Long =3D &H004 Public Const CRYPT_SET_CERTTYPE_CCA as Long =3D &H008 Public Const CRYPT_SET_CERTTYPE_MCA as Long =3D &H010 Public Const CRYPT_SET_CERTTYPE_PCA as Long =3D &H020 Public Const CRYPT_SET_CERTTYPE_GCA as Long =3D &H040 Public Const CRYPT_SET_CERTTYPE_BCA as Long =3D &H080 Public Const CRYPT_SET_CERTTYPE_RCA as Long =3D &H100 Public Const CRYPT_SET_CERTTYPE_ACQ as Long =3D &H200 Public Const CRYPT_SET_CERTTYPE_LAST as Long =3D &H400 Public Enum CRYPT_CONTENT_TYPE CRYPT_CONTENT_NONE CRYPT_CONTENT_DATA CRYPT_CONTENT_SIGNEDDATA CRYPT_CONTENT_ENVELOPEDDATA CRYPT_CONTENT_SIGNEDANDENVELOPEDDATA CRYPT_CONTENT_DIGESTEDDATA CRYPT_CONTENT_ENCRYPTEDDATA CRYPT_CONTENT_COMPRESSEDDATA CRYPT_CONTENT_SPCINDIRECTDATACONTEXT CRYPT_CONTENT_LAST =20 End Enum Public Enum CRYPT_CLASSIFICATION CRYPT_CLASSIFICATION_UNMARKED CRYPT_CLASSIFICATION_UNCLASSIFIED CRYPT_CLASSIFICATION_RESTRICTED CRYPT_CLASSIFICATION_CONFIDENTIAL CRYPT_CLASSIFICATION_SECRET CRYPT_CLASSIFICATION_TOP_SECRET CRYPT_CLASSIFICATION_LAST =3D 255=20 End Enum Public Enum CRYPT_OCSPSTATUS CRYPT_OCSPSTATUS_NOTREVOKED CRYPT_OCSPSTATUS_REVOKED CRYPT_OCSPSTATUS_UNKNOWN=20 End Enum Public Enum CRYPT_CMPSTATUS CRYPT_CMPSTATUS_OK CRYPT_CMPSTATUS_GRANTED =3D CRYPT_CMPSTATUS_OK CRYPT_CMPSTATUS_GRANTEDWITHMODS CRYPT_CMPSTATUS_REJECTION CRYPT_CMPSTATUS_WAITING CRYPT_CMPSTATUS_REVOCATIONWARNING CRYPT_CMPSTATUS_REVOCATIONNOTIFICATION CRYPT_CMPSTATUS_KEYUPDATEWARNING CRYPT_CMPSTATUS_LAST=20 End Enum Public Const CRYPT_CMPSTATUS_EXT_BADALG as Long =3D &H001 Public Const CRYPT_CMPSTATUS_EXT_BADMESSAGECHECK as Long =3D &H002 Public Const CRYPT_CMPSTATUS_EXT_BADREQUEST as Long =3D &H004 Public Const CRYPT_CMPSTATUS_EXT_BADTIME as Long =3D &H008 Public Const CRYPT_CMPSTATUS_EXT_BADCERTID as Long =3D &H010 Public Const CRYPT_CMPSTATUS_EXT_BADDATAFORMAT as Long =3D &H020 Public Const CRYPT_CMPSTATUS_EXT_WRONGAUTHORITY as Long =3D &H040 Public Const CRYPT_CMPSTATUS_EXT_INCORRECTDATA as Long =3D &H080 Public Const CRYPT_CMPSTATUS_EXT_MISSINGTIMESTAMP as Long =3D &H100 Public Const CRYPT_CMPSTATUS_EXT_BADPOP as Long =3D &H200 Public Const CRYPT_CMPSTATUS_EXT_LAST as Long =3D &H400 Public Const CRYPT_PROTOCOLVERSION_SSL as Long =3D 0 Public Const CRYPT_PROTOCOLVERSION_TLS as Long =3D 1 Public Enum CRYPT_CERTFORMAT_TYPE CRYPT_CERTFORMAT_NONE CRYPT_CERTFORMAT_CERTIFICATE CRYPT_CERTFORMAT_CERTCHAIN CRYPT_CERTFORMAT_TEXT_CERTIFICATE CRYPT_CERTFORMAT_TEXT_CERTCHAIN CRYPT_CERTFORMAT_LAST CRYPT_ICERTFORMAT_SMIME_CERTIFICATE=20 End Enum Public Enum CRYPT_REQUESTTYPE_TYPE CRYPT_REQUESTTYPE_NONE CRYPT_REQUESTTYPE_INITIALISATION CRYPT_REQUESTTYPE_INITIALIZATION =3D = CRYPT_REQUESTTYPE_INITIALISATION CRYPT_REQUESTTYPE_CERTIFICATE CRYPT_REQUESTTYPE_KEYUPDATE CRYPT_REQUESTTYPE_REVOCATION CRYPT_REQUESTTYPE_LAST End Enum Public Enum CRYPT_KEYID_TYPE CRYPT_KEYID_NONE CRYPT_KEYID_NAME CRYPT_KEYID_EMAIL CRYPT_IKEYID_ID CRYPT_IKEYID_KEYID CRYPT_IKEYID_CERTID CRYPT_IKEYID_ISSUERID CRYPT_IKEYID_ISSUERANDSERIALNUMBER CRYPT_KEYID_LAST CRYPT_KEYID_LAST_EXTERNAL =3D CRYPT_IKEYID_KEYID End Enum Public Enum CRYPT_OBJECT_TYPE CRYPT_OBJECT_NONE CRYPT_OBJECT_ENCRYPTED_KEY CRYPT_OBJECT_PKCENCRYPTED_KEY CRYPT_OBJECT_KEYAGREEMENT CRYPT_OBJECT_SIGNATURE CRYPT_OBJECT_LAST End Enum Public Enum CRYPT_ERRTYPE_TYPE CRYPT_ERRTYPE_NONE CRYPT_ERRTYPE_ATTR_SIZE CRYPT_ERRTYPE_ATTR_VALUE CRYPT_ERRTYPE_ATTR_ABSENT CRYPT_ERRTYPE_ATTR_PRESENT CRYPT_ERRTYPE_CONSTRAINT CRYPT_ERRTYPE_ISSUERCONSTRAINT CRYPT_ERRTYPE_LAST End Enum Public Enum CRYPT_CERTACTION_TYPE CRYPT_CERTACTION_NONE CRYPT_CERTACTION_CREATE CRYPT_CERTACTION_CONNECT CRYPT_CERTACTION_DISCONNECT CRYPT_CERTACTION_ERROR CRYPT_CERTACTION_REQUEST_CERT CRYPT_CERTACTION_REQUEST_RENEWAL CRYPT_CERTACTION_REQUEST_REVOCATION CRYPT_CERTACTION_CERT_CREATION CRYPT_CERTACTION_CERT_CREATION_COMPLETE CRYPT_CERTACTION_CERT_CREATION_DROP CRYPT_CERTACTION_CERT_CREATION_REVERSE CRYPT_CERTACTION_RESTART_CLEANUP CRYPT_CERTACTION_RESTART_REVOKE_CERT CRYPT_CERTACTION_ISSUE_CERT CRYPT_CERTACTION_ISSUE_CRL CRYPT_CERTACTION_REVOKE_CERT CRYPT_CERTACTION_EXPIRE_CERT CRYPT_CERTACTION_CLEANUP CRYPT_CERTACTION_LAST CRYPT_CERTACTION_FIRST_USER =3D CRYPT_CERTACTION_ISSUE_CERT CRYPT_CERTACTION_LAST_USER =3D CRYPT_CERTACTION_LAST - 1 End Enum Public Const CRYPT_MAX_KEYSIZE as Long =3D 256 Public Const CRYPT_MAX_IVSIZE as Long =3D 32 Public Const CRYPT_MAX_PKCSIZE as Long =3D 512 Public Const CRYPT_MAX_HASHSIZE as Long =3D 32 Public Const CRYPT_MAX_TEXTSIZE as Long =3D 64 Public Const CRYPT_USE_DEFAULT as Long =3D -10 Public Const CRYPT_UNUSED as Long =3D -11 Public Const CRYPT_KEYTYPE_PRIVATE as Long =3D 0 Public Const CRYPT_KEYTYPE_PUBLIC as Long =3D 1 Public Const CRYPT_RANDOM_FASTPOLL as Long =3D -10 Public Const CRYPT_RANDOM_SLOWPOLL as Long =3D -11 Public Const CRYPT_CURSOR_FIRST as Long =3D -20 Public Const CRYPT_CURSOR_PREVIOUS as Long =3D -21 Public Const CRYPT_CURSOR_NEXT as Long =3D -22 Public Const CRYPT_CURSOR_LAST as Long =3D -23 Public Enum CRYPT_KEYOPT_TYPE CRYPT_KEYOPT_NONE CRYPT_KEYOPT_READONLY CRYPT_KEYOPT_CREATE CRYPT_IKEYOPT_EXCLUSIVEACCESS CRYPT_KEYOPT_LAST CRYPT_KEYOPT_LAST_EXTERNAL =3D CRYPT_IKEYOPT_EXCLUSIVEACCESS End Enum Public Type CRYPT_QUERY_INFO blockSize as Long minKeySize as Long keySize as Long maxKeySize as Long algoName(CRYPT_MAX_TEXTSIZE-1) as Byte End Type Public Type CRYPT_OBJECT_INFO saltSize as Long salt(CRYPT_MAX_HASHSIZE-1) as Byte objectType as CRYPT_OBJECT_TYPE=20 cryptAlgo as CRYPT_ALGO=20 cryptMode as CRYPT_MODE=20 hashAlgo as CRYPT_ALGO=20 End Type Public Type CRYPT_PKCINFO_RSA isPublicKey as Long nLen as Long eLen as Long dLen as Long pLen as Long qLen as Long uLen as Long e1Len as Long e2Len as Long n(CRYPT_MAX_PKCSIZE-1) as Byte e(CRYPT_MAX_PKCSIZE-1) as Byte d(CRYPT_MAX_PKCSIZE-1) as Byte p(CRYPT_MAX_PKCSIZE-1) as Byte q(CRYPT_MAX_PKCSIZE-1) as Byte u(CRYPT_MAX_PKCSIZE-1) as Byte e1(CRYPT_MAX_PKCSIZE-1) as Byte e2(CRYPT_MAX_PKCSIZE-1) as Byte End Type Public Type CRYPT_PKCINFO_DLP isPublicKey as Long pLen as Long qLen as Long gLen as Long yLen as Long xLen as Long p(CRYPT_MAX_PKCSIZE-1) as Byte q(CRYPT_MAX_PKCSIZE-1) as Byte g(CRYPT_MAX_PKCSIZE-1) as Byte y(CRYPT_MAX_PKCSIZE-1) as Byte x(CRYPT_MAX_PKCSIZE-1) as Byte End Type Public Const CRYPT_OK as Long =3D 0 Public Const CRYPT_ERROR_PARAM1 as Long =3D -1 Public Const CRYPT_ERROR_PARAM2 as Long =3D -2 Public Const CRYPT_ERROR_PARAM3 as Long =3D -3 Public Const CRYPT_ERROR_PARAM4 as Long =3D -4 Public Const CRYPT_ERROR_PARAM5 as Long =3D -5 Public Const CRYPT_ERROR_PARAM6 as Long =3D -6 Public Const CRYPT_ERROR_PARAM7 as Long =3D -7 Public Const CRYPT_ERROR_MEMORY as Long =3D -10 Public Const CRYPT_ERROR_NOTINITED as Long =3D -11 Public Const CRYPT_ERROR_INITED as Long =3D -12 Public Const CRYPT_ERROR_NOSECURE as Long =3D -13 Public Const CRYPT_ERROR_RANDOM as Long =3D -14 Public Const CRYPT_ERROR_FAILED as Long =3D -15 Public Const CRYPT_ERROR_NOTAVAIL as Long =3D -20 Public Const CRYPT_ERROR_PERMISSION as Long =3D -21 Public Const CRYPT_ERROR_WRONGKEY as Long =3D -22 Public Const CRYPT_ERROR_INCOMPLETE as Long =3D -23 Public Const CRYPT_ERROR_COMPLETE as Long =3D -24 Public Const CRYPT_ERROR_BUSY as Long =3D -25 Public Const CRYPT_ERROR_INVALID as Long =3D -26 Public Const CRYPT_ERROR_SIGNALLED as Long =3D -27 Public Const CRYPT_ERROR_OVERFLOW as Long =3D -30 Public Const CRYPT_ERROR_UNDERFLOW as Long =3D -31 Public Const CRYPT_ERROR_BADDATA as Long =3D -32 Public Const CRYPT_ERROR_SIGNATURE as Long =3D -33 Public Const CRYPT_ERROR_OPEN as Long =3D -40 Public Const CRYPT_ERROR_READ as Long =3D -41 Public Const CRYPT_ERROR_WRITE as Long =3D -42 Public Const CRYPT_ERROR_NOTFOUND as Long =3D -43 Public Const CRYPT_ERROR_DUPLICATE as Long =3D -44 Public Const CRYPT_ENVELOPE_RESOURCE as Long =3D -50 Public Declare Function cryptInit Lib "cl32.dll" ( ) As Long Public Declare Function cryptInitEx Lib "cl32.dll" ( ) As Long Public Declare Function cryptEnd Lib "cl32.dll" ( ) As Long Public Declare Function cryptQueryCapability Lib "cl32.dll" ( ByVal = cryptAlgo as CRYPT_ALGO,ByRef cryptQueryInfo as CRYPT_QUERY_INFO ) As = Long Public Declare Function cryptCreateContext Lib "cl32.dll" ( ByRef = cryptContext as Long,ByVal cryptUser as Long,ByVal cryptAlgo as = CRYPT_ALGO ) As Long Public Declare Function cryptDestroyContext Lib "cl32.dll" ( ByVal = cryptContext as Long) As Long Public Declare Function cryptDestroyObject Lib "cl32.dll" ( ByVal = cryptObject as Long) As Long Public Declare Function cryptGenerateKey Lib "cl32.dll" ( ByVal = cryptContext as Long) As Long Public Declare Function cryptGenerateKeyAsync Lib "cl32.dll" ( ByVal = cryptContext as Long) As Long Public Declare Function cryptAsyncQuery Lib "cl32.dll" ( ByVal = cryptObject as Long) As Long Public Declare Function cryptAsyncCancel Lib "cl32.dll" ( ByVal = cryptObject as Long) As Long Public Declare Function cryptEncrypt Lib "cl32.dll" ( ByVal cryptContext = as Long, ByVal buffer as String,ByVal length as Long ) As Long Public Declare Function cryptDecrypt Lib "cl32.dll" ( ByVal cryptContext = as Long, ByVal buffer as String,ByVal length as Long ) As Long Public Declare Function cryptSetAttribute Lib "cl32.dll" ( ByVal = cryptHandle as Long,ByVal attributeType as CRYPT_ATTRIBUTE_TYPE,ByVal = value as Long ) As Long Public Declare Function cryptSetAttributeString Lib "cl32.dll" ( ByVal = cryptHandle as Long,ByVal attributeType as CRYPT_ATTRIBUTE_TYPE,ByVal = value as String, ByVal valueLength as Long ) As Long Public Declare Function cryptGetAttribute Lib "cl32.dll" ( ByVal = cryptHandle as Long,ByVal attributeType as CRYPT_ATTRIBUTE_TYPE,ByRef = value as Long ) As Long Public Declare Function cryptGetAttributeString Lib "cl32.dll" ( ByVal = cryptHandle as Long,ByVal attributeType as CRYPT_ATTRIBUTE_TYPE,ByVal = value as String,ByRef valueLength as Long ) As Long Public Declare Function cryptDeleteAttribute Lib "cl32.dll" ( ByVal = cryptHandle as Long,ByVal attributeType as CRYPT_ATTRIBUTE_TYPE ) As = Long Public Declare Function cryptAddRandom Lib "cl32.dll" ( ByVal randomData = as String, ByVal randomDataLength as Long ) As Long Public Declare Function cryptQueryObject Lib "cl32.dll" ( ByVal = objectData as String,ByRef cryptObjectInfo as CRYPT_OBJECT_INFO ) As = Long Public Declare Function cryptExportKey Lib "cl32.dll" ( ByVal = encryptedKey as String,ByRef encryptedKeyLength as Long,ByVal exportKey = as Long,ByVal sessionKeyContext as Long) As Long Public Declare Function cryptExportKeyEx Lib "cl32.dll" ( ByVal = encryptedKey as String,ByRef encryptedKeyLength as Long,ByVal formatType = as CRYPT_FORMAT_TYPE,ByVal exportKey as Long,ByVal sessionKeyContext as = Long) As Long Public Declare Function cryptImportKey Lib "cl32.dll" ( ByVal = encryptedKey as String,ByVal importKey as Long,ByVal sessionKeyContext = as Long) As Long Public Declare Function cryptImportKeyEx Lib "cl32.dll" ( ByVal = encryptedKey as String,ByVal importKey as Long,ByVal sessionKeyContext = as Long) As Long Public Declare Function cryptCreateSignature Lib "cl32.dll" ( ByVal = signature as String,ByRef signatureLength as Long,ByVal signContext as = Long,ByVal hashContext as Long) As Long Public Declare Function cryptCreateSignatureEx Lib "cl32.dll" ( ByVal = signature as String,ByRef signatureLength as Long,ByVal formatType as = CRYPT_FORMAT_TYPE,ByVal signContext as Long,ByVal hashContext as = Long,ByVal extraData as Long) As Long Public Declare Function cryptCheckSignature Lib "cl32.dll" ( ByVal = signature as String,ByVal sigCheckKey as Long,ByVal hashContext as Long) = As Long Public Declare Function cryptCheckSignatureEx Lib "cl32.dll" ( ByVal = signature as String,ByVal sigCheckKey as Long,ByVal hashContext as = Long,ByRef extraData as Long ) As Long Public Declare Function cryptKeysetOpen Lib "cl32.dll" ( ByRef keyset as = Long,ByVal cryptUser as Long,ByVal keysetType as CRYPT_KEYSET_TYPE,ByVal = name as String, ByVal options as CRYPT_KEYOPT_TYPE ) As Long Public Declare Function cryptKeysetClose Lib "cl32.dll" ( ByVal keyset = as Long) As Long Public Declare Function cryptGetPublicKey Lib "cl32.dll" ( ByVal keyset = as Long,ByRef cryptContext as Long,ByVal keyIDtype as = CRYPT_KEYID_TYPE,ByVal keyID as String ) As Long Public Declare Function cryptGetPrivateKey Lib "cl32.dll" ( ByVal keyset = as Long,ByRef cryptContext as Long,ByVal keyIDtype as = CRYPT_KEYID_TYPE,ByVal keyID as String, ByVal password as String ) As = Long Public Declare Function cryptAddPublicKey Lib "cl32.dll" ( ByVal keyset = as Long,ByVal certificate as Long) As Long Public Declare Function cryptAddPrivateKey Lib "cl32.dll" ( ByVal keyset = as Long,ByVal cryptKey as Long,ByVal password as String ) As Long Public Declare Function cryptDeleteKey Lib "cl32.dll" ( ByVal keyset as = Long,ByVal keyIDtype as CRYPT_KEYID_TYPE,ByVal keyID as String ) As Long Public Declare Function cryptCreateCert Lib "cl32.dll" ( ByRef = certificate as Long,ByVal cryptUser as Long,ByVal certType as = CRYPT_CERTTYPE_TYPE ) As Long Public Declare Function cryptDestroyCert Lib "cl32.dll" ( ByVal = certificate as Long) As Long Public Declare Function cryptGetCertExtension Lib "cl32.dll" ( ByVal = cryptHandle as Long,ByVal oid as String,ByRef criticalFlag as Long,ByVal = extension as String,ByRef extensionLength as Long ) As Long Public Declare Function cryptAddCertExtension Lib "cl32.dll" ( ByVal = certificate as Long,ByVal oid as String, ByVal criticalFlag as = Long,ByVal extension as String,ByVal extensionLength as Long ) As Long Public Declare Function cryptDeleteCertExtension Lib "cl32.dll" ( ByVal = certificate as Long,ByVal oid as String ) As Long Public Declare Function cryptSignCert Lib "cl32.dll" ( ByVal certificate = as Long,ByVal signContext as Long) As Long Public Declare Function cryptCheckCert Lib "cl32.dll" ( ByVal = certificate as Long,ByVal sigCheckKey as Long) As Long Public Declare Function cryptImportCert Lib "cl32.dll" ( ByVal = certObject as String,ByVal certObjectLength as Long,ByVal cryptUser as = Long,ByRef certificate as Long ) As Long Public Declare Function cryptExportCert Lib "cl32.dll" ( ByVal = certObject as String,ByRef certObjectLength as Long,ByVal certFormatType = as CRYPT_CERTFORMAT_TYPE,ByVal certificate as Long) As Long Public Declare Function cryptCAAddItem Lib "cl32.dll" ( ByVal keyset as = Long,ByVal certificate as Long) As Long Public Declare Function cryptCAGetItem Lib "cl32.dll" ( ByVal keyset as = Long,ByRef certificate as Long,ByVal keyIDtype as CRYPT_KEYID_TYPE,ByVal = keyID as String ) As Long Public Declare Function cryptCADeleteItem Lib "cl32.dll" ( ByVal keyset = as Long,ByVal keyIDtype as CRYPT_KEYID_TYPE,ByVal keyID as String ) As = Long Public Declare Function cryptCACertManagement Lib "cl32.dll" ( ByRef = certificate as Long,ByVal action as CRYPT_CERTACTION_TYPE,ByVal keyset = as Long,ByVal caKey as Long,ByVal certRequest as Long) As Long Public Declare Function cryptCreateEnvelope Lib "cl32.dll" ( ByRef = envelope as Long,ByVal cryptUser as Long,ByVal formatType as = CRYPT_FORMAT_TYPE ) As Long Public Declare Function cryptDestroyEnvelope Lib "cl32.dll" ( ByVal = envelope as Long) As Long Public Declare Function cryptCreateSession Lib "cl32.dll" ( ByRef = session as Long,ByVal cryptUser as Long,ByVal formatType as = CRYPT_SESSION_TYPE ) As Long Public Declare Function cryptDestroySession Lib "cl32.dll" ( ByVal = session as Long) As Long Public Declare Function cryptPushData Lib "cl32.dll" ( ByVal envelope as = Long, ByVal buffer as String,ByVal length as Long, ByRef bytesCopied as = Long ) As Long Public Declare Function cryptPopData Lib "cl32.dll" ( ByVal envelope as = Long, ByVal buffer as String,ByVal length as Long, ByRef bytesCopied as = Long ) As Long Public Declare Function cryptDeviceOpen Lib "cl32.dll" ( ByRef device as = Long,ByVal cryptUser as Long,ByVal deviceType as CRYPT_DEVICE_TYPE,ByVal = name as String ) As Long Public Declare Function cryptDeviceClose Lib "cl32.dll" ( ByVal device = as Long) As Long Public Declare Function cryptDeviceQueryCapability Lib "cl32.dll" ( = ByVal device as Long,ByVal cryptAlgo as CRYPT_ALGO,ByRef cryptQueryInfo = as CRYPT_QUERY_INFO ) As Long Public Declare Function cryptDeviceCreateContext Lib "cl32.dll" ( ByVal = device as Long,ByRef cryptContext as Long,ByVal cryptAlgo as CRYPT_ALGO = ) As Long Public Declare Function cryptDeviceControlEx Lib "cl32.dll" ( ByVal = device as Long,ByVal controlType as CRYPT_ATTRIBUTE_TYPE,ByVal data1 as = String, ByVal data1Length as Long,ByVal data2 as String, ByVal = data2Length as Long ) As Long Public Declare Function cryptLogin Lib "cl32.dll" ( ByRef user as = Long,ByVal name as String, ByVal password as String ) As Long Public Declare Function cryptLogout Lib "cl32.dll" ( ByVal user as Long) = As Long Public Declare Function cryptUIGenerateKey Lib "cl32.dll" ( ByVal = cryptDevice as Long,ByRef cryptContext as Long,ByVal cryptCert as = Long,ByRef password as String, ByVal hWnd as Long ) As Long Public Declare Function cryptUIDisplayCert Lib "cl32.dll" ( ByVal = cryptCert as Long,ByVal hWnd as Long ) As Long ------=_NextPart_000_001D_01C1655A.7CF94EE0-- From cryptlib@mbsks.franken.de Sun Nov 4 16:18:35 2001 From: cryptlib@mbsks.franken.de (Matthias Bruestle) Date: Sun, 4 Nov 2001 17:18:35 +0100 Subject: [Cryptlib] cryptlib VB test program In-Reply-To: <002001c16549$ba72d3b0$01000001@ginfotech>; from lvz@global.co.za on Sun, Nov 04, 2001 at 05:59:46PM +0200 References: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> <002001c16549$ba72d3b0$01000001@ginfotech> Message-ID: <20011104171835.T29464@mbsks.franken.de> Mahlzeit On Sun, Nov 04, 2001 at 05:59:46PM +0200, Leon wrote: > I have corrected the errors in my previous submissions and asked the > administrator of the cryptlib file server to replace my previous submissions > with the newest vb translation of cryplib.h. It is at: ftp://ftp.franken.de/pub/crypt/cryptlib/contrib/cryptlib.bas Mahlzeit endergone Zwiebeltuete PS: It should be enough to put it on an ftp site. No need to post it to this list. From cryptlib@mbsks.franken.de Mon Nov 5 18:26:42 2001 From: cryptlib@mbsks.franken.de (Matthias Bruestle) Date: Mon, 5 Nov 2001 19:26:42 +0100 Subject: [Cryptlib] cryptlib VB test program In-Reply-To: <002001c16549$ba72d3b0$01000001@ginfotech>; from lvz@global.co.za on Sun, Nov 04, 2001 at 05:59:46PM +0200 References: <200111031403.DAA49817@ruru.cs.auckland.ac.nz> <002001c16549$ba72d3b0$01000001@ginfotech> Message-ID: <20011105192642.A29464@mbsks.franken.de> Mahlzeit On Sun, Nov 04, 2001 at 05:59:46PM +0200, Leon wrote: > For your convenience it is attached. Which resulted in mails like: Attachment cryptlib.bas was Quarantined for the following reasons: Virus UNAUTHORIZED FILE was found. There seem to be rather paranoid M SEXchange administrators out there. Mahlzeit endergone Zwiebeltuete From cryptlib@mbsks.franken.de Wed Nov 7 10:12:13 2001 From: cryptlib@mbsks.franken.de (cryptlib@mbsks.franken.de) Date: Wed, 7 Nov 2001 11:12:13 +0100 Subject: [Cryptlib] Personal Certificate import Message-ID:
Hi Peter,

I would like to import a certificate generated with CryptLib in Netscape or Internet Explorer. But if I generate a PKCS15 keyset ans retreive certificate from it, I can put it in IE but I have no acces to the certificate's private key. I understand that a PKCS#15 format is really more secure than PKCS#12, but if I want to use CryptLib generated certificates in IE how can I acheive this ? Is the only way is to pass via PKCS#12 ?

If I use smart card as a key holder, all works, but not with the files.

Thank you,
Anton.



************************ DISCLAIMER ************************
This message is intended only for use by the person
to whom it is addressed. It may contain information
that is privileged and confidential. Its content does
not constitute a formal commitment by Lombard Odier.
If you are not the intended recipient of this message,
kindly notify the sender immediately and destroy this
message. Thank You.
*****************************************************************


From cryptlib@mbsks.franken.de Wed Nov 7 16:55:44 2001 From: cryptlib@mbsks.franken.de (Olivier Fouache) Date: Wed, 07 Nov 2001 17:55:44 +0100 Subject: [Cryptlib] PGP Question References: <00b901c16940$627458a0$b8a4c1c1@anton> Message-ID: <3BE96790.B0AD0550@eurecom.fr> This is a multi-part message in MIME format. --------------BC96138DB0805F4E9C8A4CAD Content-Type: multipart/alternative; boundary="------------E0F85C9752F9AC6A12775BF1" --------------E0F85C9752F9AC6A12775BF1 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Is there any interoperability between PGP keyring (secring & pubring) and Cryptlib ? Olivier -- Olivier Fouache http://www.eurecom.fr/~fouache/ Laboratoires CE/Securite Olivier.Fouache@eurecom.fr Institut EURECOM, 2229 Route des Cretes Tel labo secu : 04.93.00.26.98 SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE --------------E0F85C9752F9AC6A12775BF1 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit
Hi,
Is there any interoperability between PGP keyring (secring & pubring) and Cryptlib ?
    Olivier
-- 
Olivier Fouache                           http://www.eurecom.fr/~fouache/ 
Laboratoires CE/Securite                  Olivier.Fouache@eurecom.fr
Institut EURECOM, 2229 Route des Cretes   Tel labo secu : 04.93.00.26.98
SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE
  --------------E0F85C9752F9AC6A12775BF1-- --------------BC96138DB0805F4E9C8A4CAD Content-Type: text/x-vcard; charset=us-ascii; name="olivier.fouache.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Olivier Fouache Content-Disposition: attachment; filename="olivier.fouache.vcf" begin:vcard n:Fouache;Olivier tel;cell:0666018742 tel;work:0493002698 x-mozilla-html:FALSE url:http://www.eurecom.fr/~fouache org:Institut Eurecom;Communication d'entreprise version:2.1 email;internet:olivier.fouache@eurecom.fr title:Ingenieur de recherche adr;quoted-printable:;;Institut Eurecom=0D=0A2229 route des cretes;Valbonne;France;06560;France x-mozilla-cpt:;0 fn:Olivier Fouache end:vcard --------------BC96138DB0805F4E9C8A4CAD-- From cryptlib@mbsks.franken.de Wed Nov 7 22:11:01 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Thu, 8 Nov 2001 11:11:01 +1300 (NZDT) Subject: [Cryptlib] Personal Certificate import Message-ID: <200111072211.LAA68082@ruru.cs.auckland.ac.nz> anton.soudovtsev@LombardOdier.com writes: >I would like to import a certificate generated with CryptLib in Netscape or >Internet Explorer. But if I generate a PKCS15 key set ans retreive certificate >from it, I can put it in IE but I have no acces to the certificate's private >key. I understand that a PKCS#15 format is really more secure than PKCS#12, >but if I want to use CryptLib generated certificates in IE how can I acheive >this ? Is the only way is to pass via PKCS#12 ? See the cryptlib FAQ question on PKCS #12, http://www.cs.auckland.ac.nz/~pgut001/cryptlib/faq.html. Peter. From cryptlib@mbsks.franken.de Wed Nov 7 22:12:34 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Thu, 8 Nov 2001 11:12:34 +1300 (NZDT) Subject: [Cryptlib] PGP Question Message-ID: <200111072212.LAA68099@ruru.cs.auckland.ac.nz> Olivier Fouache writes: >Is there any interoperability between PGP keyring (secring & pubring) and >Cryptlib ? Yes, cryptlib will read PGP keys (OpenPGP stuff as well in 3.1). Peter. From cryptlib@mbsks.franken.de Thu Nov 8 12:52:32 2001 From: cryptlib@mbsks.franken.de (Claus Binder) Date: Thu, 08 Nov 2001 13:52:32 +0100 Subject: [Cryptlib] Length of RSA key inside cert request Message-ID: <3BEA8010.CC5B7E93@web.de> This is a cryptographically signed message in MIME format. --------------msF87166C4F72317EF0BAEBCF7 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello everybody, hello Peter, I search all through cryptlib mailing archives about how to determine the length of the RSA key inside a cert request. I'd like to reject requests with a to short (insecure) or to long (bad performance) key pair. In an email of 1999 I only found something about using a core function of cryptlib 2.anything to determine weather used algorithm is RSA or DSA or anything else. Any idea to work around or, Peter, any solution in cryptlib 3.0 final? Thanks for helping. Claus --------------msF87166C4F72317EF0BAEBCF7 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIINSwYJKoZIhvcNAQcCoIINPDCCDTgCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC CzYwggPxMIIC2aADAgECAgMs9icwDQYJKoZIhvcNAQEEBQAwgaExCzAJBgNVBAYTAkRFMRow GAYDVQQHExFELTc2MjI3IEthcmxzcnVoZTESMBAGA1UEChMJV0VCLkRFIEFHMRcwFQYDVQQL Ew5UcnVzdENlbnRlciBDQTEsMCoGA1UEAxMjV0VCLkRFIFRydXN0Q2VudGVyIFZvbGwtWmVy dGlmaWthdGUxGzAZBgkqhkiG9w0BCQEWDHRydXN0QHdlYi5kZTAeFw0wMTAyMTIxMDUyMzla Fw0wMjAyMTIxMDUyMzlaMHUxCzAJBgNVBAYTAkRFMRQwEgYDVQQIEwtEZXV0c2NobGFuZDEV MBMGA1UEBxMMODU0MzUgRXJkaW5nMRUwEwYDVQQDEwxDbGF1cyBCaW5kZXIxIjAgBgkqhkiG 9w0BCQEWE2NsYXVzLmJpbmRlckB3ZWIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB AMc2an9vdfQL7DHcoxe2zquobxaPl8Gml8y+kKMYVHy4xwvzyjyqSDUH7DkSBhEOF4OLJMsu 58Rx9lYWDTXbIQ3G3jY3qvNcV0wWPfYNxKLxsjJ6wdbUNFIfZE5cTmy+U8puKbrdXNr/Kbum C4XtyL+7M/bvHS+cIegcPSLGJb3bAgMBAAGjgeAwgd0wLAYJYIZIAYb4QgEEBB8WHWh0dHBz Oi8vdHJ1c3Qud2ViLmRlL3J2Q0EvP3M9MCMGCWCGSAGG+EIBAgQWFhRodHRwczovL3RydXN0 LndlYi5kZTAWBglghkgBhvhCAQMECRYHL3J2Lz9zPTAWBglghkgBhvhCAQcECRYHL3JuLz9z PTAaBglghkgBhvhCAQgEDRYLL0hpbGZlL0FHQi8wKQYJYIZIAYb4QgENBBwWGkZyZWVtYWls IEVtYWlsIGNlcnRpZmljYXRlMBEGCWCGSAGG+EIBAQQEAwIAsDANBgkqhkiG9w0BAQQFAAOC AQEAJ/6d16fD8Pgb7fG/300HOSr1pxoTpWhKAHuLiOu2rEkcl6bHWouUFLvidlJTGJ1JfFM2 YlJwRT/8X2DQDtmAeqL3jdD6QHRUtqv6QC2U6pmirBlUwmcABf5YTutTZExzNeED8OJgjWOb Ez8NpHLVcRXpGjJ9o6LsWohCOyxBt+wS+3W8YtMsDsU8TthL0lpffHzRKeVVBqUV2pQH9C2N lDDgH7viwNMlFdCuJnlRGn1i+U3rJAX5r750xfO+pm+97BaTBr4UNFuK2d7dWvD7wXWs0hXU 6c43ntKIjxyBmhz6i7pAMBsy0EoTqAsI83vzWm384DugMK6bintTTEsgCDCCBz0wggUloAMC AQICAQMwDQYJKoZIhvcNAQEEBQAwgY0xCzAJBgNVBAYTAkRFMRowGAYDVQQHExFELTc2MjI3 IEthcmxzcnVoZTESMBAGA1UEChMJV0VCLkRFIEFHMRQwEgYDVQQLEwtUcnVzdENlbnRlcjEb MBkGA1UEAxMSV0VCLkRFIFRydXN0Q2VudGVyMRswGQYJKoZIhvcNAQkBFgx0cnVzdEB3ZWIu ZGUwHhcNOTkwNjIzMTE0NzMxWhcNMDQwNjIxMTE0NzMxWjCBoTELMAkGA1UEBhMCREUxGjAY BgNVBAcTEUQtNzYyMjcgS2FybHNydWhlMRIwEAYDVQQKEwlXRUIuREUgQUcxFzAVBgNVBAsT DlRydXN0Q2VudGVyIENBMSwwKgYDVQQDEyNXRUIuREUgVHJ1c3RDZW50ZXIgVm9sbC1aZXJ0 aWZpa2F0ZTEbMBkGCSqGSIb3DQEJARYMdHJ1c3RAd2ViLmRlMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAtVj5fbH8IpQyErUj3tDsMvLHiymHUN8oa6gynRHz1M6+PF8BurYM 3s7WCm0NkflGDLfwh8A6c5moS2UoVGITB9p4oCuCB+F2NTLHVltgmZ3POdomRHbk3wfC6Evg Yh7IXLVB7ovqbGn8DYKygb+JHxYVzXnKFmtAlhT7z+n+lyE9LxOSMAevb6W0EsZNdxyddHbc kgFJSPpBzhB0wpffzxd/Hrkee5BpvcDBncjVoMrAZhuAyugZNLW2xQXxpEfkEAekrsqG1Sn1 lK/F9rFwi4ccPiyI7vkp3dKQ6b1r848aYOIfqFglH+GT7RDfMSDhsNVB43VgG7CGC25S3xF7 RQIDAQABo4ICkDCCAowwLAYJYIZIAYb4QgEEBB8WHWh0dHBzOi8vdHJ1c3Qud2ViLmRlL3J2 Q0EvP3M9MCMGCWCGSAGG+EIBAgQWFhRodHRwczovL3RydXN0LndlYi5kZTAWBglghkgBhvhC AQMECRYHL3J2Lz9zPTAWBglghkgBhvhCAQcECRYHL3JuLz9zPTAaBglghkgBhvhCAQgEDRYL L0hpbGZlL0FHQi8wEQYJYIZIAYb4QgEBBAQDAgAHMAwGA1UdEwQFMAMBAf8wSQYDVR0gBEIw QDA+BgtghkgBhvhFAQcBATAvMC0GCCsGAQUFBwIBFiFodHRwOi8vdHJ1c3Qud2ViLmRlL0hp bGZlL1BvbGljeS8wggFKBglghkgBhvhCAQ0EggE7FoIBN1RydXN0Q2VudGVyIHZvbiBXRUIu REUgLSBaZXJ0aWZpa2F0IGb8ciBkaWUgQXVzZ2FiZSB2b24gVm9sbC1aZXJ0aWZpa2F0ZW4K CkRpZSBOdXR6dW5nIGRpZXNlcyBaZXJ0aWZpa2F0ZXMgd2lyZCB2b24gZGVuIEFsbGdlbWVp bmVuIEdlc2No5GZ0c2JlZGluZ3VuZ2VuIChBR0IpIC8gWmVydGlmaXppZXJ1bmdzcmljaHRs aW5pZW4gZGVzIFdFQi5ERSBUcnVzdENlbnRlcnMgZ2VyZWdlbHQuCkRpZSBBR0JzIHVuZCBa ZXJ0aWZpemllcnVuZ3NyaWNodGxpbmllbiBzaW5kIHVudGVyIGh0dHA6Ly90cnVzdC53ZWIu ZGUvSGlsZmUvIGVpbnNlaGJhci4KMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly90cnVzdC53 ZWIuZGUvY3JsL2NhMDEuY3JsMA0GCSqGSIb3DQEBBAUAA4ICAQAR8ajQ9e69AmnQkaxkGi3O 7R3BYZznYpZaye0EiPacCldxO1fZz8Clci0xp0LyibIhLXbj5xd+AnxoagTcWASR3Jtp8gr7 FDiNB8sevOWIgD45eRGRoyBEMcX62JXqcobhv/kJCzfIKz1g+WZEz1EBweHMklfHlOJRwA4A Vc5z83LC1Z4qWnv2YpidpQZQrcgwfoWpc8VQK8653JA5AjVDDfnKWbjM5QDpL8jiGYPI/zc9 J9RHh6LgXCrTQ3VhL3YUxOdQkoo89iO4Wa0BHkIQMNjtZtn01jX1dVTk35Ru/qCd1dCkkKCM kzu6dMK/t41kdBgKbT1IGuyrZ6wfJhxwk0EqjEw3PE87+0IuXZYTGCFdbZhBnviKKsFPjCKU 4dwVS+lZPQpNpVodoWwUEoX4v2aWcyV7KSdElIe+AYplKNiO9b+GVfU3YF7vJ4L8aEATaIM9 rGngiU3bYifvhwmd7URfv2+HGs2xSR6lAVtkdFO6fvCa0QeALNc2TXVVHRqaCKHZeNyr2vPl 46S60NonJ7WVYKfsMLZ75Bod6Px7DTd0axw2G+x4o0CqTgYcTGH3te2znUaTf8IuPkCaKIAD 6QmJLBOxVZ2aKuKtDHO9PS04lguXHwgrPaEQkw5eSKhLX0bQ7u+hbOowT3nra1kabaePsZqg rq+NQGrF3K6BAjGCAd0wggHZAgEBMIGpMIGhMQswCQYDVQQGEwJERTEaMBgGA1UEBxMRRC03 NjIyNyBLYXJsc3J1aGUxEjAQBgNVBAoTCVdFQi5ERSBBRzEXMBUGA1UECxMOVHJ1c3RDZW50 ZXIgQ0ExLDAqBgNVBAMTI1dFQi5ERSBUcnVzdENlbnRlciBWb2xsLVplcnRpZmlrYXRlMRsw GQYJKoZIhvcNAQkBFgx0cnVzdEB3ZWIuZGUCAyz2JzAJBgUrDgMCGgUAoIGKMBgGCSqGSIb3 DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTAxMTEwODEyNTIzMlowIwYJKoZI hvcNAQkEMRYEFCQXMSVtOziRrMqmVzp/PjAb1p1AMCsGCSqGSIb3DQEJDzEeMBwwCgYIKoZI hvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCSqGSIb3DQEBAQUABIGAxu+NFfQcezPTOrSqO521 tel6MXunUBT6xg/aEWr22V+q2IaUeEw9XddfFM7UWJc8FFejNfNLhkJeMfzd/cVqTJO9nzCr vijTZzECb9rpzhiAqKr8vvlfFtvuVvgnmZwyaYQvT1yHkabxgYc9F/ZnvU0oFbxtXz2N83+A w0IVjjQ= --------------msF87166C4F72317EF0BAEBCF7-- From cryptlib@mbsks.franken.de Thu Nov 8 18:05:24 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Fri, 9 Nov 2001 07:05:24 +1300 (NZDT) Subject: [Cryptlib] Length of RSA key inside cert request Message-ID: <200111081805.HAA18667@ruru.cs.auckland.ac.nz> Claus Binder writes: >I search all through cryptlib mailing archives about how to determine the >length of the RSA key inside a cert request. Read the CRYPT_CTXINFO_KEYSIZE attribute, see "Querying Encryption Contexts". Peter. From cryptlib@mbsks.franken.de Thu Nov 8 19:31:47 2001 From: cryptlib@mbsks.franken.de (Olivier Fouache) Date: Thu, 08 Nov 2001 20:31:47 +0100 Subject: [Cryptlib] Length of RSA key inside cert request References: <200111081805.HAA18667@ruru.cs.auckland.ac.nz> Message-ID: <3BEADDA3.BED49FF8@eurecom.fr> This is a multi-part message in MIME format. --------------29D7B21DA691E2420F83F46B Content-Type: multipart/alternative; boundary="------------7C5A7A87179BC8458A96691F" --------------7C5A7A87179BC8458A96691F Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, i search to convert PGP secring/ pubring into CRYPT_PKCINFO_RSA. I have search before, and i've seen this structure KEYSET_INFO which contains keyData in PGP_INFO format. I have wrote this piece of code to take manually the KEYSET_INFO : status = sFileOpen(&(keysetInfoPtr->keysetFile.stream), "secring.skr", FILE_READ); setAccessMethodPGP(keysetInfoPtr); keysetInfoPtr->initkeysetFunction(keysetInfoPtr, NULL, NULL, CRYPT_KEYOPT_CREATE); keysetInfoPtr->isOpen=TRUE; keysetInfoPtr->isEmpty=TRUE; keysetInfoPtr->getItemFunction(keysetInfoPtr, NULL, KEYMGMT_ITEM_PRIVATEKEY, CRYPT_KEYID_NAME, ...); I have only the id of the Key et the passphrase. What is the structure that i must put in : const void *keyID, const int keyIDlength, void *auxInfo, int *auxInfoLength, const int flags ???? thanks for help. Olivier -- Olivier Fouache http://www.eurecom.fr/~fouache/ Laboratoires CE/Securite Olivier.Fouache@eurecom.fr Institut EURECOM, 2229 Route des Cretes Tel labo secu : 04.93.00.26.98 SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE --------------7C5A7A87179BC8458A96691F Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, i search to convert PGP secring/ pubring into CRYPT_PKCINFO_RSA.
I have search before, and i've seen this structure KEYSET_INFO which contains keyData in PGP_INFO format.
I have wrote this piece of code to take manually the KEYSET_INFO :

status = sFileOpen(&(keysetInfoPtr->keysetFile.stream), "secring.skr", FILE_READ);
setAccessMethodPGP(keysetInfoPtr);
keysetInfoPtr->initkeysetFunction(keysetInfoPtr, NULL, NULL, CRYPT_KEYOPT_CREATE);
keysetInfoPtr->isOpen=TRUE;
keysetInfoPtr->isEmpty=TRUE;
keysetInfoPtr->getItemFunction(keysetInfoPtr, NULL, KEYMGMT_ITEM_PRIVATEKEY, CRYPT_KEYID_NAME, ...);

I have only the id of the Key et the passphrase.
What is the structure that i must put in :
const void *keyID, const int keyIDlength, void *auxInfo, int *auxInfoLength, const int flags ????

    thanks for help.

    Olivier

-- 
Olivier Fouache                           http://www.eurecom.fr/~fouache/ 
Laboratoires CE/Securite                  Olivier.Fouache@eurecom.fr
Institut EURECOM, 2229 Route des Cretes   Tel labo secu : 04.93.00.26.98
SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE
  --------------7C5A7A87179BC8458A96691F-- --------------29D7B21DA691E2420F83F46B Content-Type: text/x-vcard; charset=us-ascii; name="olivier.fouache.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Olivier Fouache Content-Disposition: attachment; filename="olivier.fouache.vcf" begin:vcard n:Fouache;Olivier tel;cell:0666018742 tel;work:0493002698 x-mozilla-html:FALSE url:http://www.eurecom.fr/~fouache org:Institut Eurecom;Communication d'entreprise version:2.1 email;internet:olivier.fouache@eurecom.fr title:Ingenieur de recherche adr;quoted-printable:;;Institut Eurecom=0D=0A2229 route des cretes;Valbonne;France;06560;France x-mozilla-cpt:;0 fn:Olivier Fouache end:vcard --------------29D7B21DA691E2420F83F46B-- From cryptlib@mbsks.franken.de Thu Nov 8 22:44:47 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Fri, 9 Nov 2001 11:44:47 +1300 (NZDT) Subject: [Cryptlib] Length of RSA key inside cert request Message-ID: <200111082244.LAA24952@ruru.cs.auckland.ac.nz> Olivier Fouache writes: >Hi, i search to convert PGP secring/ pubring into CRYPT_PKCINFO_RSA. What's wrong with cryptGetPrivateKey()? Peter. From cryptlib@mbsks.franken.de Fri Nov 9 08:37:34 2001 From: cryptlib@mbsks.franken.de (Olivier Fouache) Date: Fri, 09 Nov 2001 09:37:34 +0100 Subject: [Cryptlib] Length of RSA key inside cert request References: <200111082244.LAA24952@ruru.cs.auckland.ac.nz> Message-ID: <3BEB95CE.ED6A8BE4@eurecom.fr> This is a multi-part message in MIME format. --------------64F0E2ADDC3B821F260FDD47 Content-Type: multipart/alternative; boundary="------------771DDBF9BB7BD4003BBA20E8" --------------771DDBF9BB7BD4003BBA20E8 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Peter Gutmann wrote: > Olivier Fouache writes: > > >Hi, i search to convert PGP secring/ pubring into CRYPT_PKCINFO_RSA. > > What's wrong with cryptGetPrivateKey()? > I need to convert secret and public key in PGP format into SPKI format. I know how to tranform secret and public key in CRYPT_PKCINFO_RSA format into what i want ... CRYPT_CONTEXT format is not appropiated to export secret key into CRYPT_PKCINFO_RSA. So i have look into your source to see where do you convert PGP_INFO format into CRYPT_PKCINFO_RSA. It's why this piece of code. but i don't understand the last arguments of the last function. Olivier > > Peter. > > _______________________________________________ > Cryptlib mailing list > Cryptlib@mbsks.franken.de > Administration via Mail: cryptlib-request@mbsks.franken.de -- Olivier Fouache http://www.eurecom.fr/~fouache/ Laboratoires CE/Securite Olivier.Fouache@eurecom.fr Institut EURECOM, 2229 Route des Cretes Tel labo secu : 04.93.00.26.98 SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE --------------771DDBF9BB7BD4003BBA20E8 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Peter Gutmann wrote:
Olivier Fouache <olivier.fouache@eurecom.fr> writes:

>Hi, i search to convert PGP secring/ pubring into CRYPT_PKCINFO_RSA.

What's wrong with cryptGetPrivateKey()?
 

I need to convert secret and public key in PGP format into SPKI format. I know how to tranform secret and public key in CRYPT_PKCINFO_RSA format into what i want ... CRYPT_CONTEXT format is not appropiated to export secret key into CRYPT_PKCINFO_RSA. So i have look into your source to see where do you convert PGP_INFO format into CRYPT_PKCINFO_RSA.
It's why this piece of code. but i don't understand the last arguments of the last function.

    Olivier

 
Peter.

_______________________________________________
Cryptlib mailing list
Cryptlib@mbsks.franken.de
Administration via Mail: cryptlib-request@mbsks.franken.de

-- 
Olivier Fouache                           http://www.eurecom.fr/~fouache/ 
Laboratoires CE/Securite                  Olivier.Fouache@eurecom.fr
Institut EURECOM, 2229 Route des Cretes   Tel labo secu : 04.93.00.26.98
SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE
  --------------771DDBF9BB7BD4003BBA20E8-- --------------64F0E2ADDC3B821F260FDD47 Content-Type: text/x-vcard; charset=us-ascii; name="olivier.fouache.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Olivier Fouache Content-Disposition: attachment; filename="olivier.fouache.vcf" begin:vcard n:Fouache;Olivier tel;cell:0666018742 tel;work:0493002698 x-mozilla-html:FALSE url:http://www.eurecom.fr/~fouache org:Institut Eurecom;Communication d'entreprise version:2.1 email;internet:olivier.fouache@eurecom.fr title:Ingenieur de recherche adr;quoted-printable:;;Institut Eurecom=0D=0A2229 route des cretes;Valbonne;France;06560;France x-mozilla-cpt:;0 fn:Olivier Fouache end:vcard --------------64F0E2ADDC3B821F260FDD47-- From cryptlib@mbsks.franken.de Mon Nov 12 14:36:45 2001 From: cryptlib@mbsks.franken.de (Olivier Fouache) Date: Mon, 12 Nov 2001 15:36:45 +0100 Subject: [Cryptlib] pb with RSA References: <001901c152e1$9f5dac00$c1d6ecd3@win2k.virtualtek.co.kr> <001001c16e65$34f26e60$b8a4c1c1@anton> Message-ID: <3BEFDE7D.714D8C7C@eurecom.fr> This is a multi-part message in MIME format. --------------3C3DED348C425F0AD52890C4 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit it's in crypt.h line 1226 and the body in cryptmis.c line 960 > Anton wrote: > > where can i find this function tell me ? > > base64encode -- Olivier Fouache Ingenieur de Recherche Laboratoire Securite (labo 118) Olivier.Fouache@eurecom.fr Institut EURECOM, 2229 Route des Cretes Tel labo secu : 04.93.00.26.98 SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE http://www.eurecom.fr/~fouache/ --------------3C3DED348C425F0AD52890C4 Content-Type: text/x-vcard; charset=us-ascii; name="olivier.fouache.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Olivier Fouache Content-Disposition: attachment; filename="olivier.fouache.vcf" begin:vcard n:Fouache;Olivier tel;cell:06.66.01.87.42 tel;work:04.93.00.26.98 x-mozilla-html:FALSE url:http://www.eurecom.fr/~fouache org:Institut Eur閏om;Corporate Communication version:2.1 email;internet:olivier.fouache@eurecom.fr title:Ing閚ieur de Recherche adr;quoted-printable:;;2229 Route des Cr=EAtes=0D=0A;Valbonne;France;06560; fn:Olivier Fouache end:vcard --------------3C3DED348C425F0AD52890C4-- From cryptlib@mbsks.franken.de Sat Nov 17 17:04:38 2001 From: cryptlib@mbsks.franken.de (Toth Csaba) Date: Sat, 17 Nov 2001 18:04:38 +0100 (MET) Subject: [Cryptlib] Length of RSA key inside cert request In-Reply-To: <3BEA8010.CC5B7E93@web.de> Message-ID: Hi! On Thu, 8 Nov 2001, Claus Binder wrote: > I search all through cryptlib mailing archives about how to determine > the length of the RSA key inside a cert request. I'd like to reject It depends on the type of the certificate. Certificates can contain variable length fields, so the length of the cert could be variable too. Be sure to check only the key size. Bye -- tocsa ----------------------------------------------- | email: tocsa@inf.bme.hu | | homepage: http://www.iit.bme.hu/~tocsa | ----------------------------------------------- From cryptlib@mbsks.franken.de Sat Nov 17 17:36:17 2001 From: cryptlib@mbsks.franken.de (David Smith) Date: Sat, 17 Nov 2001 11:36:17 -0600 Subject: [Cryptlib] Peter Contact Me In-Reply-To: Message-ID: Hi Peter, Can you drop me an email to continue our discussion? Thanks a bunch, David From cryptlib@mbsks.franken.de Sun Nov 18 03:15:52 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Sun, 18 Nov 2001 16:15:52 +1300 (NZDT) Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded Message-ID: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> The pre-release of 3.0 has just been uploaded to the usual place as beta_final.zip. This is there for people to grab to find last-minute problems (eg compiling it on obscure platforms) before I do the final release, probably in about a week. With the final release will come some other changes: - It will now be called cryptlib XP rather than cryptlib 3.0. - Future versions of cryptlib XP will only run under Windows, since this is the enterprise platform of the future. - The built-in crypto code will be removed, to be replaced with calls to Microsoft CryptoAPI. - cryptlib XP will become a pure ActiveX component rather than a library, to make it easier to use from VB. - Some sort of run-time activation code in which cryptlib XP contacts a central server for licensing before activating itself. No user private keys will be transmitted to this server except at the request of law enforcement or government agencies, or if we decide we need it. - cryptlib XP will come with a skinnable interface, since user feedback indicates that this is primary feature which people use when selecting a crypto library. Peter. From cryptlib@mbsks.franken.de Sun Nov 18 11:08:46 2001 From: cryptlib@mbsks.franken.de (Kiyoshi Watanabe) Date: Sun, 18 Nov 2001 20:08:46 +0900 (JST) Subject: [Cryptlib] Can cryptlib support all the extensions of PKIX? Message-ID: <20011118200846Q.kiyoshi@bisd.hitachi.co.jp> Dear all, I am a new to this mailing list. Please let me ask; 1)Can cryptlib support all the extensions of RFC 2459? 2)Does cryptlib has the tool to issue a certificate with these extensions? Thanks in advance! Kiyoshi, Kiyoshi Watanabe From cryptlib@mbsks.franken.de Sun Nov 18 11:59:03 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Mon, 19 Nov 2001 00:59:03 +1300 (NZDT) Subject: [Cryptlib] Can cryptlib support all the extensions of PKIX? Message-ID: <200111181159.AAA297326@ruru.cs.auckland.ac.nz> Kiyoshi Watanabe writes: >1)Can cryptlib support all the extensions of RFC 2459? Yes. >2)Does cryptlib has the tool to issue a certificate with these extensions? cryptlib is a crypto toolkit rather than an application, so it can issue a certificate with any extension you want, but you need to integrate it into your own application. Peter. From cryptlib@mbsks.franken.de Sun Nov 18 12:51:06 2001 From: cryptlib@mbsks.franken.de (Edward Stempel) Date: Sun, 18 Nov 2001 13:51:06 +0100 (CET) Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded In-Reply-To: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> Message-ID: :-))))))) Yeah, XP rules! On Sun, 18 Nov 2001, Peter Gutmann wrote: > The pre-release of 3.0 has just been uploaded to the usual place as > beta_final.zip. This is there for people to grab to find last-minute problems > (eg compiling it on obscure platforms) before I do the final release, probably > in about a week. > > With the final release will come some other changes: > > - It will now be called cryptlib XP rather than cryptlib 3.0. > > - Future versions of cryptlib XP will only run under Windows, since this is the > enterprise platform of the future. > > - The built-in crypto code will be removed, to be replaced with calls to > Microsoft CryptoAPI. > > - cryptlib XP will become a pure ActiveX component rather than a library, to > make it easier to use from VB. > > - Some sort of run-time activation code in which cryptlib XP contacts a central > server for licensing before activating itself. No user private keys will be > transmitted to this server except at the request of law enforcement or > government agencies, or if we decide we need it. > > - cryptlib XP will come with a skinnable interface, since user feedback > indicates that this is primary feature which people use when selecting a > crypto library. > > Peter. > > _______________________________________________ > Cryptlib mailing list > Cryptlib@mbsks.franken.de > Administration via Mail: cryptlib-request@mbsks.franken.de > From cryptlib@mbsks.franken.de Sun Nov 18 13:06:19 2001 From: cryptlib@mbsks.franken.de (Matthias Bruestle) Date: Sun, 18 Nov 2001 14:06:19 +0100 Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded In-Reply-To: ; from edward@euros.nl on Sun, Nov 18, 2001 at 01:51:06PM +0100 References: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> Message-ID: <20011118140619.D20718@mbsks.franken.de> On Sun, Nov 18, 2001 at 01:51:06PM +0100, Edward Stempel wrote: > :-))))))) > > Yeah, XP rules! I can't wait for the fully integration of cryptlib in the advanced .NET architecture. Mahlzeit From cryptlib@mbsks.franken.de Sun Nov 18 21:30:09 2001 From: cryptlib@mbsks.franken.de (Shayne Jones) Date: Mon, 19 Nov 2001 10:30:09 +1300 Subject: [Cryptlib] Peter Contact Me Message-ID: <5190358E7926D211B18700104B061582F4EDCC@exchange.orion.internal> Hi David It's a while since we corresponded.... I hope you're well. Peter should get back to you soon, I know he's about because I met with him last Friday! Let me know if I can help out in future. regards, Shayne. -----Original Message----- From: David Smith [mailto:dsmith@payexpress.com] Sent: Sunday, 18 November 2001 6:36 a.m. To: cryptlib@mbsks.franken.de Subject: [Cryptlib] Peter Contact Me Hi Peter, Can you drop me an email to continue our discussion? Thanks a bunch, David _______________________________________________ Cryptlib mailing list Cryptlib@mbsks.franken.de Administration via Mail: cryptlib-request@mbsks.franken.de From cryptlib@mbsks.franken.de Sun Nov 18 19:04:32 2001 From: cryptlib@mbsks.franken.de (Geoff Thorpe) Date: Sun, 18 Nov 2001 14:04:32 -0500 Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded In-Reply-To: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> References: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> Message-ID: <20011118230449.HDUU13078.mta4-rme.xtra.co.nz@there> Hi Peter, Have you got the paperclip integration working yet, or are you still=20 busy replacing the LDAP support with Excel/OLE-based certificate stores? Cheers, Geoff PS: Have your lawyers received clearance yet for the full name form, ie.=20 "Xtra Pretentious" or do you have to stick with just "XP"?? On Saturday 17 November 2001 22:15, Peter Gutmann wrote: > The pre-release of 3.0 has just been uploaded to the usual place as > beta_final.zip. This is there for people to grab to find last-minute > problems (eg compiling it on obscure platforms) before I do the final > release, probably in about a week. [snip] From cryptlib@mbsks.franken.de Wed Nov 21 09:51:10 2001 From: cryptlib@mbsks.franken.de (Toth Csaba) Date: Wed, 21 Nov 2001 10:51:10 +0100 (MET) Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded In-Reply-To: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> Message-ID: Hi! On Sun, 18 Nov 2001, Peter Gutmann wrote: > - It will now be called cryptlib XP rather than cryptlib 3.0. ? > - Future versions of cryptlib XP will only run under Windows, since this is the > enterprise platform of the future. What?!?! What?!?! What about linux? > - The built-in crypto code will be removed, to be replaced with calls to > Microsoft CryptoAPI. This must be a joke. > - cryptlib XP will become a pure ActiveX component rather than a library, to > make it easier to use from VB. _Please_ say this is a joke. > Peter. I know that today is Nov. 21 and not Apr. 1, but please say "April's fool!". I'll do a harakiri. -- tocsa ----------------------------------------------- | email: tocsa@inf.bme.hu | | homepage: http://www.iit.bme.hu/~tocsa | ----------------------------------------------- From cryptlib@mbsks.franken.de Wed Nov 21 20:19:43 2001 From: cryptlib@mbsks.franken.de (P.H. Rankin Hansen) Date: Wed, 21 Nov 2001 21:19:43 +0100 Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded In-Reply-To: <200111180315.QAA288529@ruru.cs.auckland.ac.nz> Message-ID: <5.1.0.14.2.20011121211430.02150b40@piteraq.dk> At 16:15 18-11-01 +1300, ? wrote: >- Future versions of cryptlib XP will only run under Windows, since this=20 >is the > enterprise platform of the future. > >- The built-in crypto code will be removed, to be replaced with calls to > Microsoft CryptoAPI. > >- cryptlib XP will become a pure ActiveX component rather than a library,= to > make it easier to use from VB. > >- Some sort of run-time activation code in which cryptlib XP contacts a=20 >central > server for licensing before activating itself. No user private keys=20 > will be > transmitted to this server except at the request of law enforcement or > government agencies, or if we decide we need it. > >- cryptlib XP will come with a skinnable interface, since user feedback > indicates that this is primary feature which people use when selecting a > crypto library. You forgot to mention that encryption keys in future versions will be=20 limited to six bits and that blocks larger than 256 bytes only will have=20 every 3rd byte encrypted - for security purposes, naturally. best regards / venlig hilsen P.H. Rankin Hansen M=F8lletoften 45, Gaarslev DK-7080 B=F8rkop Danmark From cryptlib@mbsks.franken.de Thu Nov 22 03:16:02 2001 From: cryptlib@mbsks.franken.de (Aida) Date: Thu, 22 Nov 2001 11:16:2 +0800 Subject: [Cryptlib] cryptlib 3.0 pre-release uploaded Message-ID: <20011122030942765.AAA1562.338@min> I have some useful suggestions: random function in cryptlib will always get the result 0,the encryption arithmetic can only support rc2,the key length of RSA is less than 20,and all results should email a copy to CIA to prevent the terrorist attack,especially by Osama Bin Laten ,and more. Aida >The pre-release of 3.0 has just been uploaded to the usual place as >beta_final.zip. This is there for people to grab to find last-minute problems >(eg compiling it on obscure platforms) before I do the final release, probably >in about a week. > >With the final release will come some other changes: > >- It will now be called cryptlib XP rather than cryptlib 3.0. > >- Future versions of cryptlib XP will only run under Windows, since this is the > enterprise platform of the future. > >- The built-in crypto code will be removed, to be replaced with calls to > Microsoft CryptoAPI. > >- cryptlib XP will become a pure ActiveX component rather than a library, to > make it easier to use from VB. > >- Some sort of run-time activation code in which cryptlib XP contacts a central > server for licensing before activating itself. No user private keys will be > transmitted to this server except at the request of law enforcement or > government agencies, or if we decide we need it. > >- cryptlib XP will come with a skinnable interface, since user feedback > indicates that this is primary feature which people use when selecting a > crypto library. > >Peter. > >_______________________________________________ >Cryptlib mailing list >Cryptlib@mbsks.franken.de >Administration via Mail: cryptlib-request@mbsks.franken.de From cryptlib@mbsks.franken.de Thu Nov 22 17:23:18 2001 From: cryptlib@mbsks.franken.de (Olivier Fouache) Date: Thu, 22 Nov 2001 18:23:18 +0100 Subject: [Cryptlib] Link References: <5190358E7926D211B18700104B061582F4EDCC@exchange.orion.internal> Message-ID: <3BFD3486.E6649793@eurecom.fr> This is a multi-part message in MIME format. --------------4D7D0CF29CC0A5BB2DE91B5A Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit In the previous mail, you ask me for some help (url or other stuff). For the moment, i can only give you this url : http://www.telecom.gouv.fr/rnrt/projets/pseva.htm regards, Olivier "Cryptix XP ?, ok i'm waiting for Linux XP" ;))))) -- Olivier Fouache Ingenieur de Recherche Laboratoire Securite (labo 118) Olivier.Fouache@eurecom.fr Institut EURECOM, 2229 Route des Cretes Tel labo secu : 04.93.00.26.98 SOPHIA ANTIPOLIS 06560 VALBONNE - FRANCE http://www.eurecom.fr/~fouache/ --------------4D7D0CF29CC0A5BB2DE91B5A Content-Type: text/x-vcard; charset=us-ascii; name="olivier.fouache.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Olivier Fouache Content-Disposition: attachment; filename="olivier.fouache.vcf" begin:vcard n:Fouache;Olivier tel;cell:06.66.01.87.42 tel;work:04.93.00.26.98 x-mozilla-html:FALSE url:http://www.eurecom.fr/~fouache org:Institut Eur閏om;Corporate Communication version:2.1 email;internet:olivier.fouache@eurecom.fr title:Ing閚ieur de Recherche adr;quoted-printable:;;2229 Route des Cr=EAtes=0D=0A;Valbonne;France;06560; fn:Olivier Fouache end:vcard --------------4D7D0CF29CC0A5BB2DE91B5A-- From cryptlib@mbsks.franken.de Sun Nov 25 11:56:20 2001 From: cryptlib@mbsks.franken.de (bigworm) Date: Sun, 25 Nov 2001 19:56:20 +0800 (CST) Subject: [Cryptlib] =?gb2312?B?ZG93bmxvYWQgY3J5cHRsaWI=?= Message-ID: <3C00DC64.22322@bjapp4> Hi,everyone! Where can I download the cryptlib final_beta? I can not find it on the peter's homepage,it is also the cryptlib3.0beta5 on the homepage. Thanks bigworm 加薪,升职密笈 http://www.englishtown.com/master/home/courseoverview.asp?etag=TOCN&ctr=cn =============================================== 我要用手机收邮件!!! —— 163“随身邮”手机邮箱 —— ◎ 手机号码就是电子邮箱地址,方便记忆 ◎ 不用上网,透过手机短信,随时掌握邮件的接收情况 ◎ 决不错过任何商业良机 ◎ 方便的按月收费方式,最低每月只需5元 详情请浏览 http://vip.163.net/mobile/mobile.htm =============================================== From cryptlib@mbsks.franken.de Mon Nov 26 07:21:06 2001 From: cryptlib@mbsks.franken.de (Lin Wang) Date: Mon, 26 Nov 2001 15:21:06 +0800 Subject: [Cryptlib] How to use cryptlib in ASP pages? Message-ID: <000c01c1764a$e9b38b80$0b8175ca@wl> This is a multi-part message in MIME format. ------=_NextPart_000_0009_01C1768D.F7A470E0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SSB3cml0ZSB0aGUgZm9sbG93aW5nIGNvZGVzIGluIGFuIEFTUCBwYWdlOg0KDQo8JQ0KZGltIGNs LHJlc3VsdA0Kc2V0IGNsPXNlcnZlci5jcmVhdGVvYmplY3QoImNyeXB0LmNyeXB0bGliIikNCmNs LmNyeXB0aW5pdCByZXN1bHQNCg0KDQoNCmNsLmNyeXB0ZW5kIHJlc3VsdA0KJT4NCg0KDQp0aGVu IEkgdHJ5IHRvIGJyb3dzZSB0aGlzIHBhZ2UscHJvYmxlbSBhcmlzZXMsaXQgc2F5czogY29tcGls ZSBlcnJvcixsaW5lICNsaW5lKHRoZSBsaW5lICJjbC5jcnlwdGluaXQgcmVzdWx0IikuDQpDYW4g c29tZSBwZW9wbGUgdGVsbCBtZSB3aHk/DQo= ------=_NextPart_000_0009_01C1768D.F7A470E0 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu dD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNS41 MC40MTM0LjYwMCIgbmFtZT1HRU5FUkFUT1I+DQo8U1RZTEU+PC9TVFlMRT4NCjwvSEVBRD4NCjxC T0RZIGJnQ29sb3I9I2ZmZmZmZj4NCjxESVY+PEZPTlQgc2l6ZT0yPkkgd3JpdGUgdGhlIGZvbGxv d2luZyBjb2RlcyBpbiBhbiBBU1AgcGFnZTo8L0ZPTlQ+PC9ESVY+DQo8RElWPjxGT05UIHNpemU9 Mj48L0ZPTlQ+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT05UIHNpemU9Mj4mbHQ7JTwvRk9OVD48L0RJ Vj4NCjxESVY+PEZPTlQgc2l6ZT0yPmRpbSBjbCxyZXN1bHQ8L0ZPTlQ+PC9ESVY+DQo8RElWPjxG T05UIHNpemU9Mj5zZXQgY2w9c2VydmVyLmNyZWF0ZW9iamVjdCgiY3J5cHQuY3J5cHRsaWIiKTwv Rk9OVD48L0RJVj4NCjxESVY+PEZPTlQgc2l6ZT0yPmNsLmNyeXB0aW5pdCByZXN1bHQ8L0ZPTlQ+ PC9ESVY+DQo8RElWPjxGT05UIHNpemU9Mj48L0ZPTlQ+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT05U IHNpemU9Mj48L0ZPTlQ+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT05UIHNpemU9Mj48L0ZPTlQ+Jm5i c3A7PC9ESVY+DQo8RElWPjxGT05UIHNpemU9Mj5jbC5jcnlwdGVuZCByZXN1bHQ8L0ZPTlQ+PC9E SVY+DQo8RElWPjxGT05UIHNpemU9Mj4lJmd0OzwvRk9OVD48L0RJVj4NCjxESVY+PEZPTlQgc2l6 ZT0yPjwvRk9OVD4mbmJzcDs8L0RJVj4NCjxESVY+PEZPTlQgc2l6ZT0yPjwvRk9OVD4mbmJzcDs8 L0RJVj4NCjxESVY+PEZPTlQgc2l6ZT0yPnRoZW4gSSB0cnkgdG8gYnJvd3NlIHRoaXMgcGFnZSxw cm9ibGVtIGFyaXNlcyxpdCBzYXlzOiBjb21waWxlIA0KZXJyb3IsbGluZSAjbGluZSh0aGUgbGlu ZSAiPEZPTlQgc2l6ZT0yPmNsLmNyeXB0aW5pdCANCnJlc3VsdDwvRk9OVD4iKS48L0ZPTlQ+PC9E SVY+DQo8RElWPjxGT05UIHNpemU9Mj5DYW4gc29tZSBwZW9wbGUgdGVsbCBtZSB3aHk/PC9GT05U PjwvRElWPjwvQk9EWT48L0hUTUw+DQo= ------=_NextPart_000_0009_01C1768D.F7A470E0-- From cryptlib@mbsks.franken.de Mon Nov 26 07:45:27 2001 From: cryptlib@mbsks.franken.de (cryptlib@mbsks.franken.de) Date: Mon, 26 Nov 2001 08:45:27 +0100 Subject: [Cryptlib] download cryptlib Message-ID:
Take a look on the ftp site,
Anton.


************************ DISCLAIMER ************************
This message is intended only for use by the person
to whom it is addressed. It may contain information
that is privileged and confidential. Its content does
not constitute a formal commitment by Lombard Odier.
If you are not the intended recipient of this message,
kindly notify the sender immediately and destroy this
message. Thank You.
*****************************************************************


From cryptlib@mbsks.franken.de Mon Nov 26 09:02:55 2001 From: cryptlib@mbsks.franken.de (bigworm) Date: Mon, 26 Nov 2001 17:02:55 +0800 (CST) Subject: [Cryptlib] =?gb2312?B?cGtjczEy?= Message-ID: <3C02053F.12217@bjapp6.163.net> Hi,everyone! I want to import the private key and certificate from the microsoft p12 file using cryptlib,what should I do? I found there is some code about it in the file dbxp12.c,but how should i uuse it,has the cryptlib also include it? Thanks all! 加薪,升职密笈 http://www.englishtown.com/master/home/courseoverview.asp?etag=TOCN&ctr=cn =============================================== 我要用手机收邮件!!! —— 163“随身邮”手机邮箱 —— ◎ 手机号码就是电子邮箱地址,方便记忆 ◎ 不用上网,透过手机短信,随时掌握邮件的接收情况 ◎ 决不错过任何商业良机 ◎ 方便的按月收费方式,最低每月只需5元 详情请浏览 http://vip.163.net/mobile/mobile.htm =============================================== From cryptlib@mbsks.franken.de Mon Nov 26 21:40:31 2001 From: cryptlib@mbsks.franken.de (cryptlib@mbsks.franken.de) Date: Mon, 26 Nov 2001 18:40:31 -0300 (GRNLNDST) Subject: [Cryptlib] certificate authority Message-ID: <1006810831.3c02b6cfc5290@webmail.inf.ufsc.br> Hi, everyone!!! I'm a brazilian computer science student and I'm planning to use cryptlib to build a certificate authority. If someone has already built a CA and could give me some hints, please get in touch with me. On the other hand, if you know where I can find any tutorial about it, please, let me know. Thanks for your atention. Genilda. From cryptlib@mbsks.franken.de Tue Nov 27 06:59:44 2001 From: cryptlib@mbsks.franken.de (Matthias Bruestle) Date: Tue, 27 Nov 2001 07:59:44 +0100 Subject: [Cryptlib] Away Message-ID: <20011127075943.E20021@mbsks.franken.de> Mahlzeit I'm until saturday in Enschede, so I will reduce the requirements for mails to be distributed without aproval. This will probably let some spam into this mailing list. Mahlzeit endergone Zwiebeltuete From cryptlib@mbsks.franken.de Tue Nov 27 21:27:00 2001 From: cryptlib@mbsks.franken.de (cryptlib@mbsks.franken.de) Date: Tue, 27 Nov 2001 18:27:00 -0300 (GRNLNDST) Subject: [Cryptlib] help: certificate store with mysql Message-ID: <1006896420.3c04052425e9e@webmail.inf.ufsc.br> Hi, everyone! I'm a beginner and I'm having some problems with cryptlib. I've compiled it with the CFLAG -DDBX_MYSQL, but I dont know how to set up a key set. Because of this, the testlib program failed when trying to execute the cryptkeysetOpen() funtion. Does anyone could explain to me how to set up the data source "testkeys" required by the testlib program? I've already tried to find something about ir in the manual, but I didn't find. I use cryptlib version 3 beta 6. Thanks for the attention, Genilda. From cryptlib@mbsks.franken.de Wed Nov 28 03:50:02 2001 From: cryptlib@mbsks.franken.de (Peter Gutmann) Date: Wed, 28 Nov 2001 16:50:02 +1300 (NZDT) Subject: [Cryptlib] pkcs12 Message-ID: <200111280350.QAA43267@ruru.cs.auckland.ac.nz> "bigworm" writes: >I want to import the private key and certificate from the microsoft p12 file >using cryptlib,what should I do? > >I found there is some code about it in the file dbxp12.c,but how should i uuse >it,has the cryptlib also include it? See the cryptlib FAQ, linked from the cryptlib home page. Peter. From cryptlib@mbsks.franken.de Fri Nov 30 12:22:00 2001 From: cryptlib@mbsks.franken.de (bapi) Date: Fri, 30 Nov 2001 13:22:00 +0100 Subject: [Cryptlib] get public key from pkcs#10? Message-ID: <004501c17999$9d7bd4a0$1601a8c0@imnla308> Hi, Is it possible to retrieve the raw public key from a pkcs#10 certificate with crytplib? Ties Molenhuis