Re: [openssl-users] What does EC_KEY_get0_public_key deliver?

2015-01-09 Thread Christian Weber
Am 09.01.2015 um 01:11 schrieb Matt Caswell: On 09/01/15 00:05, 
Christian Weber wrote:

Thanks Matt, i just assumed the BIGNUMs were the coordinates without any 
projection - obviously that assumption was wrong - mislead by the funtions name.


What interests me is to how you accessed the BIGNUMs in the first place!
The EC_POINT structure is opaque and is defined in an internal header
file!! Applications shouldn't be reaching into those.

Matt
Actually i imported the internal header so the structure was known. I 
marked the import as HACK to access exactly that EC_POINT structure. The 
hack was carried out because of the lack of knowledge about how to 
access the public key.


I yust did not understand the intention for hiding the EC_POINT 
structure and didn't find information about how to access the coordinate 
values which i need to compare with coordinates from other sources (XML 
Dsig, Element ) or placing them elsewhere.


So could you please give a hint or a pointer to where the intended 
access can be found?


BTW: How does one find out which type of ECC is being used (binary or 
prime)?
BTW2: Which compact representation of any public key would you recommend 
(for program internal comparisons)?


Surely i will ban the internal header from my sources as they are not 
neccessary.


Chris
___
openssl-users mailing list
openssl-users@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-users


Re: [openssl-users] What does EC_KEY_get0_public_key deliver?

2015-01-08 Thread Christian Weber
Thanks Matt, i just assumed the BIGNUMs were the coordinates without any 
projection - obviously that assumption was wrong - mislead by the funtions name.

However, we're operating on brainpool curves, so the latter function should do 
the job. I'll lookup the parameters and try tomorrow.

MfG
-- Chris

Am 08.01.2015 um 22:43 schrieb Matt Caswell :

> 
> 
> On 08/01/15 17:16, Christian Weber wrote:
>> Dear OpenSSL-Users,
>> 
>> recently i found a pitfall using EC_KEY_get0_public_key(key->pkey.ec).
>> The function just returns a copy to a pointer to key->pub_key which is a
>> EC_POINT pointer.
>> The key itself is taken from a certificate using EVP_PKEY *key =
>> X509_get_pubkey(cert);
>> 
>> Fine, i assumed, these must be coordinates of the publich key in the
>> elements X and Y!
>> Both are BIGNUMS as expected.
> 
> How are you accessing the elements X and Y? The internal representation
> could be transformed and you should make sure you are using the correct
> functions to access them, i.e. one of:
> 
> EC_POINT_get_affine_coordinates_GFp
> or
> EC_POINT_get_affine_coordinates_GF2m
> 
> Which one to use depends on whether you are using a prime or binary curve.
> 
> Matt
> ___
> openssl-users mailing list
> openssl-users@openssl.org
> https://mta.openssl.org/mailman/listinfo/openssl-users
___
openssl-users mailing list
openssl-users@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-users


[openssl-users] What does EC_KEY_get0_public_key deliver?

2015-01-08 Thread Christian Weber

Dear OpenSSL-Users,

recently i found a pitfall using EC_KEY_get0_public_key(key->pkey.ec).
The function just returns a copy to a pointer to key->pub_key which is a 
EC_POINT pointer.
The key itself is taken from a certificate using EVP_PKEY *key = 
X509_get_pubkey(cert);


Fine, i assumed, these must be coordinates of the publich key in the 
elements X and Y!

Both are BIGNUMS as expected.

BUT instead i got some tranformed coordinates.

Finally i got the coordinates by using EC_POINT_point2hex() with the 
propoer group and

converting its output.

There seems to be no instantly accessible BIGNUM-pair represesentation 
of a ECDSA

public key, which i would like to gain access to.

What am i missing?

Thanks in advance
-- Chris
___
openssl-users mailing list
openssl-users@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-users


Re: [openssl-users] OpenSSL with 64bit Instruction-Set and libraries for Windows? (solved)

2014-12-05 Thread Christian Weber

Thanks for the response,

meanwhile i have managed to generate 'pure' 64-bit openssl versions. In 
my case the configuration of the ide (VC2013) was simply wrong.
I'm using the ide for viewing the code and for debugging purposes. When 
building the toolkit, the ide was used, too (makefile project).


After switching to the proper platform (destination and sdk) and 
integrating the do_win64 script, the toolkit built flawlwssly.
The dependencies are correct now whilst the referenced windows api dlls 
are still in the same place, e.g. \windows\system32\kernel32.dll.
Semmingly the dlls do contain the code for multiple platforms like fat 
libraries under osx.


Thank you
--
Christian Weber
___
openssl-users mailing list
openssl-users@openssl.org
https://mta.opensslfoundation.net/mailman/listinfo/openssl-users


OpenSSL with 64bit Instruction-Set and libraries for Windows?

2014-12-05 Thread Christian Weber

Dear folks,

as far as i can see, there is no true 64-bit support for building 
openssl (current version 1.0.1j).


The contained file INSTALL.W64 states Win64 support as "initial".
Following the build instructions i get a resulting makefile which is 
almost identical with the

one generated for VC-WIN32.

The compiled libraries remain being build against the 32-bit versions.

So what am i missing? Is there any real support for Win64?

Thanks in advance

--
Christian Weber
Security Software
Abteilungsleiter Entwicklung
mailto:we...@infotech.de
--
Infotech Gesellschaft für
Informations- und Datentechnik mbH
Tel. +49-2361-9130-0
Fax +49-2361-9130-105

Geschäftsführer
Rainer Hans

Gerichtsstand Recklinghausen
Amtsgericht Recklinghausen HRB 1912
USt.-IdNr. DE-811565628

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


SRP in OpenSSL 1.0.1

2012-04-04 Thread Christian Weber

Dear users and developers,

we just read through some of the code examples for SRP usage.

Concerning the necessary callbacks we wonder why in
s_server.c the verifier parametrization is being delayed.

Within apps/s_server.c we can find the comment:

 "When the callback is called for a new connection we return
  with a negative value. This will provoke the accept etc to return with
  an LOOKUP_X509. The main logic of the reinvokes the suspended call
  (which would normally occur after a worker has finished) and we
  set the user parameters."

There seems to be something missing between 'the' and 'reinvokes',
so we cannot understand what's being meant.

May it be a security impact to implement the lookup within the
callback itself (as done in ssl/ssltest.c, based on user's password)
or may there be other error conditions which are covered by
relocating the lookup to init_ssl_connection in apps/s_cerver.c?

Any opinions about possible security weakening against implementing
the lookup within the callback?

TIA
-- Christian Weber
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: DIRECTORYSTRING and substitute in v1.0.0d

2011-03-23 Thread Christian Weber

Dr. Stephen Henson schrieb am 22.03.2011 18:50:
...

You shouldn't need that patch. I think your problem is:

ASN1_OPT(X509_ADMISSION_PROF_INFO, professionOIDs, ASN1_OBJECTS),

Which is making an item template optional. Try instead doing:

ASN1_SEQUENCE_OF_OPT(X509_ADMISSION_PROF_INFO, professionOIDs, ASN1_OBJECT),

Steve.


Yes, your're absolutely right. Applying your definition, the proposed path
becomes obsolete.

Thank you.
--
Christian Weber
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


timestamping DETACHED SMIME

2011-03-17 Thread Christian Weber

Hi all,

due to the new streaming support in OpenSSL 1.0.0d the calculations for
completing the signature are delayed now. I guess streaming support was
meant especially for DETACHED SMIME, but complicates the handling.

The PKCS7_sign() routine still does most of the initialization on the p7
structure, but finalizing (i.e. call of PKCS7_final()) is intenionally delayed.

Currently PKCS7_final() is called in the last line of SMIME_write_PKCS7(),
which is (or at least previously was) the SMIME output routine.

Due to this delay it seems difficult to add a timestamp over the signature
which needs the signature value, of course.

Does anyone know how to interfere the output generation to add an unsigned
attribute (like a timestamp) when the signature is already created, but not
yet written to the output?

Alternatively the finalization might be performed within or right after
PKCS7_sign(), just as in the old manner, but then the contents happens to
be processed twice (hash calculation and signature processing) when the
data is written, because the output routine heavily depends on the new
auxiliary asn1 callback.

Any hint? What am i missing?

TIA
--
Christian Weber
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: DIRECTORYSTRING and substitute in v1.0.0d

2011-03-11 Thread Christian Weber

OK, found it on my own.

I was in need of automatic type checking of the built in multistring types at 
parsing
time, i.e. when doing d2i_X509_TEMPLATE_TYPE(...) an templates for new 
structures.

Just in case someone might be interested, i found a solution that works for me.

With some digging the code, i found the template type missing for ASN1 
multistring types,
namely ASN1_PRINTABLE, DISPLAYTEXT and DIRECTORYSTRING.

I thing that can be obtained by adding:


#define DEFINE_ASN1_ITEM_TEMPLATE(tname) \
ASN1_ITEM_TEMPLATE(tname##) = ASN1_EX_TEMPLATE_TYPE(0, 0, tname##, 
tname##)

DEFINE_ASN1_ITEM_TEMPLATE(DIRECTORYSTRING);
DEFINE_ASN1_ITEM_TEMPLATE(ASN1_PRINTABLE);
DEFINE_ASN1_ITEM_TEMPLATE(DISPLAYTEXT);


in my c source. So the correct types are being checked at parsing time.
The underlying types are all of ASN1_STRING. For use within the program, i 
added:


typedef ASN1_STRING DIRECTORYSTRING;
typedef ASN1_STRING ASN1_PRINTABLE;
typedef ASN1_STRING DISPLAYTEXT;


in the headerfile. Together with the mentioned patch, concerning template 
parsing,
functionality is a good bit enhaced.

Maybe some OM could review these little changes whether they are ok or should 
be revised.
If the former, i would appreciate to see them in the mainstream.

Christian Weber wrote on 10.03.2011 at 18:40:
...
--- C:/wrk/openssl-1.0.0d/crypto/asn1/tasn_dec.cTue Jun 15 
18:25:06 2010
+++ S:/Build/SAK-2.1/openssl-1.0.0d/crypto/asn1/tasn_dec.cThu Mar 
10 01:26:40 2011

@@ -188,6 +188,8 @@
  */
 if ((tag != -1) || opt)
 {
+/* If OPTIONAL, assume this is OK Patch 5.2.2010 ChWe */
+if (opt) return -1;
 ASN1err(ASN1_F_ASN1_ITEM_EX_D2I,
 ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE);
 goto err;
We wonder if this critical in any aspect? With the patch the lib still 
seems to work for us.


TIA
--
Christian Weber
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


DIRECTORYSTRING and substitute in v1.0.0d

2011-03-10 Thread Christian Weber
cal in any aspect? With the patch the lib still seems to 
work for us.

What are we missing? Any hints?

TIA
--
Christian Weber
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


attributecertificate extensions

2009-02-27 Thread Christian Weber
Dear OpenSSL users,

lately I ran into a problem when trying to parse attributecertificates (ACs).
ACs contain a sequence of attributes which look like x509v5 attributes.

I've decided to use parts of the AC implementation from Daniel Díaz-Sánchez
(downloable at http://www.it.uc3m.es/dds/swRelease/pmi/pmi.xml ). Which works
fine for me so far.

I've implemented some awareness of attribute types as defined by ISIS-MTT v1.1
of 16.3.2004 (which is still current) as additionalinformation, restriction,
monetarylimit, admission and others.

All works fine except for a special AC with the procuration attribute, which is
defined as follows:

ProcurationSyntax ::= SEQUENCE {
  country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL
  typeOfSubstitution [2] EXPLICIT DirectoryString(SIZE(1..128)) OPTIONAL
  signingFor [3] EXPLICIT SigningFor
}

SigningFor ::= CHOICE {
  thirdPerson GeneralName
  certRef IssuerSerial
}

but with exceptions to the type of the field thirdPerson which is't exactly
a GeneralName in sense of OpenSSL.

What I implemented is:

ASN1_CHOICE(X509_PROCURATION_SIGNINGFOR) = {
  ASN1_SIMPLE(X509_PROCURATION_SIGNINGFOR, value.thirdPerson, GENERAL_NAME),
  ASN1_SIMPLE(X509_PROCURATION_SIGNINGFOR, value.certRef, 
X509AT_ISSUER_SERIAL)
} ASN1_CHOICE_END(X509_PROCURATION_SIGNINGFOR)

IMPLEMENT_ASN1_FUNCTIONS(X509_PROCURATION_SIGNINGFOR)

ASN1_SEQUENCE(X509_PROCURATION) = {
  ASN1_EXP(X509_PROCURATION, country, ASN1_PRINTABLESTRING, 1),
  ASN1_EXP(X509_PROCURATION, typeOfSubstitiution, DIRECTORYSTRING, 2),
  ASN1_EXP(X509_PROCURATION, signingFor, X509_PROCURATION_SIGNINGFOR, 3)
} ASN1_SEQUENCE_END(X509_PROCURATION)

IMPLEMENT_ASN1_FUNCTIONS(X509_PROCURATION)

Conforming to RFC 3039 ISIS-MTT states for ACs:

ISIS-MTT PROFILE: The GeneralName MUST be of type directoryName and MAY only 
contain:
- RFC3039 attributes, except pseudonym (countryName, commonName, surname, 
givenName,
serialNumber, organizationName, organizationalUnitName, 
stateOrProvincename,
localityName, postalAddress) and
- SubjectDirectoryName attributes (title, dateOfBirth, placeOfBirth, gender,
countryOfCitizenship, countryOfResidence and NameAtBirth).

The problem arises when it comes to parsing a dateOfBirth attribute, since is 
of ASN1
type GENERALIZEDTIME. All other are (more or less) strings.

In OpenSSL GeneralName of Type GEN_DIRNAME is mapped to X509_NAME (see x509v3.h)
which only may hold string values, but no date value.

So parsing an AC which contains such an item, it results in parsing failure:
===
...
2008:error:0D07808C:asn1 encoding routines:ASN1_ITEM_EX_D2I:mstring wrong tag:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:228:
Type=ASN1_PRINTABLE
2008:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:749:
Field=value, Type=X509_NAME_ENTRY
2008:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:710:
2008:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:710:
2008:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:749:
2008:error:0D08403A:asn1 encoding routines:ASN1_TEMPLATE_EX_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:578:
2008:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:338:
Field=d.directoryName, Type=GENERAL_NAME
2008:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:749:
2008:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:338:
Field=value.thirdPerson, Type=X509_PROCURATION_SIGNINGFOR
2008:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:749:
2008:error:0D08403A:asn1 encoding routines:ASN1_TEMPLATE_EX_D2I:nested asn1 
error:
X:\openssl\openssl-0.9.8g\crypto\asn1\tasn_dec.c:578:
Field=signingFor, Type=X509_PROCURATION
===
which is correct since GENERALIZEDTIME is not a string. In tasn_dec, line 227 
ASN1_tag2bit
returns 0x8000 (B_ASN1_GENERALIZEDTIME) while it->utype is 0x00013d16 
(B_ASN1_PRINTABLE, I guess).

How can I convince OpenSSL to accept dateOfBirth as allowable type in this case?

Any idea?

TIA
--
Christian

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org

X509v3 extensions

2008-09-12 Thread Christian Weber
Dear participators,

trying to add some x509v3 extension awareness tu openssl
we've become a bit short for solutions.

x509 extensions are as versatile as asn1 permits. As extension
to certificates there are an object id and a critical flag 
followed by whatsoever.

If it comes to unknown oids at least the asn1parser comes short
for the structure and uses a OCTET_STRING replacement.

My question is: how may one implement an extension to make
openssl aware of yet unknown structures?

The idea was to ust the asn1 template classes together with
appropriate structures.

Given the case of following asn1 definition:

> ValidityModel::= SEQUENCE
> {
> validityModelIdOBJECT IDENTIFIER
> validityModelInfo   ANY DEFINED BY validityModelId OPTIONAL
> }

I'se tried some variations of the structure:

> typedef struct X509ValidityModelInfo_st {
>   STACK_OF(ASN1_OBJECT) *info;
> } X509VALIDITYMODELINFO;
> 
> DECLARE_ASN1_ITEM(X509VALIDITYMODELINFO)
> DECLARE_ASN1_FUNCTIONS(X509VALIDITYMODELINFO)

together with the following code snippet

> ASN1_SEQUENCE(X509VALIDITYMODELINFO) = {
>   ASN1_SET_OF(X509VALIDITYMODELINFO, info, ASN1_OBJECT),
> } ASN1_SEQUENCE_END(X509VALIDITYMODELINFO)
> 
> IMPLEMENT_ASN1_FUNCTIONS(X509VALIDITYMODELINFO)
>
>   int nid = OBJ_txt2nid("id-validityModel");
>   int index = X509_get_ext_by_NID(cert, nid, -1);
>   X509_EXTENSION *ext = X509_get_ext(cert, index);
> 
>   if (ext) 
>   {
> ASN1_OCTET_STRING *os = X509_EXTENSION_get_data(ext); // OK so far...
> const unsigned char *p = os->data;
> X509VALIDITYMODELINFO *mi = d2i_X509VALIDITYMODELINFO(NULL, &p, 
> os->length);
>  ...

never fetches a result. Surely there may be some mistakes, but I've tried more
than one variation, even with debugging sessions. 

Sorry, I can't see anything. 
BTW: Source is of Version 0.9.8g running with W2K compiled with VC8 express.

Does any of you have an idea or a hint? A good example could be excellent.

TIA
---
Christian
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


Re: templates and cert chain validity

2008-07-11 Thread Christian Weber

Hi again,

sorry, we just found the error in using the Macros.

When an asn structure is being parsed, the pointer to the funding
ASN_OCTET_STRING becomes modified and thus points no no freeable 
memory.


Christian Weber schrieb am 10.07.2008 13:41:
...

To implement a validity checking which is aware of different models
shell as of RFC 3280 or chain as af ISIS-MTT.

...

Sinse the extension ID (validityModelID) is known, only the Info has to
be coded. I tried:


  typedef struct X509ValidityModelInfo_st {
ASN1_OBJECT *info;
} X509VALIDITYMODELINFO;

DECLARE_ASN1_ITEM(X509VALIDITYMODELINFO)
DECLARE_ASN1_FUNCTIONS(X509VALIDITYMODELINFO)


together with


ASN1_SEQUENCE(X509VALIDITYMODELINFO) = {
  ASN1_OPT(X509VALIDITYMODELINFO, info, ASN1_OBJECT),
} ASN1_SEQUENCE_END(X509VALIDITYMODELINFO)

IMPLEMENT_ASN1_FUNCTIONS(X509VALIDITYMODELINFO)


and using it with following code


int validityModelIsChain(X509 *_cert)
{
  int iRet = 0;
  int nid = OBJ_txt2nid("id-validityModel");

  X509 *cert = X509_dup(_cert);// local copy
  int index = X509_get_ext_by_NID(cert, nid, -1);
  X509_EXTENSION *ext = X509_get_ext(cert, index);

  if (ext)
  {
ASN1_OCTET_STRING *os = X509_EXTENSION_get_data(ext);
X509VALIDITYMODELINFO *mi = 0;
d2i_X509VALIDITYMODELINFO(&mi, (const unsigned char **)&os->data, 
os->length);

...

We must not fetch the pointer os->data directly, because it becomes 
modified at d2i_...! Now we use:



const unsigned char *p = os->data;
d2i_X509VALIDITYMODELINFO(&mi, &p, os->length);


Afterwards p points to the end of the string at os->data.
Everything is working fine and freeable without memory leaks.

...
 
if (mi && mi->info)

{
  char buf[60];
  nid = OBJ_obj2nid(mi->info);
  OBJ_obj2txt(buf, sizeof(buf), mi->info, 0);
  printf("ValidityModel: %s\n", buf);

  iRet = 1;
}
// X509VALIDITYMODELINFO_free(mi); // bad?
  }
  // X509_EXTENSION_free(ext); // bad, double-release!
  X509_free(cert);// neccessary, else leak, but fails
  return iRet;
}

...

I've been looking into the sources to find a place where the
cert chain checking is done in terms of the certs span of life.

Downwards the chain each cert should become valid while the issuers
cert is valid.

I thought the right place would be somewhere within x509_vfy.c,
perhaps at check_issued, but the search was in vain.

Is there any function to do a comparation of two ASN_TIME values
correctly though different formats and timezones may be in use?

...

For checking validity against RFC 3280 (shell model) no further time
comparison is needed. Each cert in a chain has to be valid at a certain
point in time (i.e. when used). 


That's implemeted sufficiently.

Thanks to all
--
Christian
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


templates and cert chain validity

2008-07-10 Thread Christian Weber

Hi there,

I'm just about verification of certs. Since X509v3 there are many
extensions with their own types. Some of them are known to the current
implementation, many aren't.

To implement a validity checking which is aware of different models
shell as of RFC 3280 or chain as af ISIS-MTT.

There are some OIDs that should be used to determine which model should 
be used. One of them is 1.3.6.1.4.1.8301.3.5 (by TU Darmstadt, Germany)

which comes with this type:


ValidityModel::= SEQUENCE
{
validityModelIdOBJECT IDENTIFIER
validityModelInfo   ANY DEFINED BY validityModelId OPTIONAL
}


Sinse the extension ID (validityModelID) is known, only the Info has to
be coded. I tried:


  typedef struct X509ValidityModelInfo_st {
ASN1_OBJECT *info;
} X509VALIDITYMODELINFO;

DECLARE_ASN1_ITEM(X509VALIDITYMODELINFO)
DECLARE_ASN1_FUNCTIONS(X509VALIDITYMODELINFO)


together with


ASN1_SEQUENCE(X509VALIDITYMODELINFO) = {
  ASN1_OPT(X509VALIDITYMODELINFO, info, ASN1_OBJECT),
} ASN1_SEQUENCE_END(X509VALIDITYMODELINFO)

IMPLEMENT_ASN1_FUNCTIONS(X509VALIDITYMODELINFO)


and using it with following code


int validityModelIsChain(X509 *_cert)
{
  int iRet = 0;
  int nid = OBJ_txt2nid("id-validityModel");

  X509 *cert = X509_dup(_cert); // local copy
  int index = X509_get_ext_by_NID(cert, nid, -1);
  X509_EXTENSION *ext = X509_get_ext(cert, index);

  if (ext)
  {
ASN1_OCTET_STRING *os = X509_EXTENSION_get_data(ext);
X509VALIDITYMODELINFO *mi = 0;
d2i_X509VALIDITYMODELINFO(&mi, (const unsigned char **)&os->data, 
os->length);
 
if (mi && mi->info)

{
  char buf[60];
  nid = OBJ_obj2nid(mi->info);
  OBJ_obj2txt(buf, sizeof(buf), mi->info, 0);
  printf("ValidityModel: %s\n", buf);

  iRet = 1;
}
// X509VALIDITYMODELINFO_free(mi); // bad?
  }
  // X509_EXTENSION_free(ext); // bad, double-release!
  X509_free(cert);  // neccessary, else leak, but fails
  return iRet;
}


I'm missing how to release the temporary items correctly.
Do you have any hints? Is the above approach reasonable?

==

I've been looking into the sources to find a place where the
cert chain checking is done in terms of the certs span of life.

Downwards the chain each cert should become valid while the issuers
cert is valid.

I thought the right place would be somewhere within x509_vfy.c,
perhaps at check_issued, but the search was in vain.

Is there any function to do a comparation of two ASN_TIME values
correctly though different formats and timezones may be in use?

Any hints?

TIA
--
Christian Weber
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


BN_LLONG use in pq_compat.h

2007-10-24 Thread Christian Weber
Dear list users,

sorry i'm a bit confused due to the meaning of BN_LLONG.

We recently changed over to version 0.9.8. On a Windows environment with
an old compiler that doesn't support 64 bit-integers (Borland C 5.01), we 
get compiling errors due to type PQ_64BIT (and SHA_LONG64 also) which seem 
to undefined.

pq_compat.h contains:
> #if (defined(THIRTY_TWO_BIT) && !defined(BN_LLONG)) || defined(SIXTEEN_BIT) 
> || defined(EIGHT_BIT)
...(some lines later)...
> #define PQ_64BIT BIGNUM

We read that as subtitute for native 64-bit integers. 
BN_LLONG is defined in opensslconf.h which in turn is included in pq_compat.h
so the PQ_64BIT remains undefined.

Is this a typo in ph_compat.h?

How is BN_LLONG to be read? If defined
- BNs shall be used instead of native 64-bit integers - or -
- use native 64-bit integers (that are hopefully supported)?

TIA
-- 
Christian Weber
Business Service
Abteilungsleiter
mailto:[EMAIL PROTECTED]

--
Infotech Gesellschaft für
Informations- und Datentechnik mbH
Tel. +49-2361-9130-0
Fax +49-2361-9130-105

Geschäftsführer
Rainer Hans

Gerichtsstand Recklinghausen
Amtsgericht Recklinghausen HRB 1912
USt.-IdNr. DE-811565628 
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


Re: PKCS7: decoding failed

2005-09-02 Thread Christian Weber
Sorry again I missed to write that openssl asn1parse does work on the file.

The file has been generated esternally (i.e. by german telesec), so
we need to know what's wrong with the data to openssl.

Marco Roeland wrote:
> On Friday September 2nd 2005 Christian Weber wrote:
> 
> 
>>i'm sorry but I cannot find the reason for the errors resulting in
>>calling openssl (Version 0.9.7e or 0.9.8) as follows:
>>
>>openssl pkcs7  -noout -text -print_certs < decoded.b64
>>unable to load PKCS7 object
> 
> 
> I have no idea either, but you might want to run
> 
> openssl asn1parse -in decoded.b64
> 
> which does work on this input and compare the resulting fields and
> identifiers with a PKCS7 file that you _can_ read. Perhaps the file was
> created with different parameters than OpenSSL expects.

Marco: What parameters are you writing about?

TIA
-- 
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


PKCS7: decoding failed

2005-09-02 Thread Christian Weber
Hello folks,

i'm sorry but I cannot find the reason for the errors resulting in
calling openssl (Version 0.9.7e or 0.9.8) as follows:

openssl pkcs7  -noout -text -print_certs < decoded.b64
unable to load PKCS7 object
5655:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong 
tag:tasn_dec.c:1282:
5655:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 
error:tasn_dec.c:374:Type=X509_CINF
5655:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:tasn_dec.c:743:Field=cert_info, Type=X509
5655:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:tasn_dec.c:704:Field=cert, Type=PKCS7_SIGNED
5655:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:tasn_dec.c:743:
5655:error:0D08403A:asn1 encoding routines:ASN1_TEMPLATE_EX_D2I:nested asn1 
error:tasn_dec.c:572:Field=d.sign, Type=PKCS7
5655:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:

Ca anybody help?

PKCS7 Object follows:
-BEGIN PKCS7-
MIIJOwYJKoZIhvcNAQcCoIIJLDCCCSgCAQExADALBgkqhkiG9w0BBwGgggkQMIIC
aDCCAdSgAwIBAgIDMtGNMAoGBiskAwMBAgUAMG8xCzAJBgNVBAYTAkRFMT0wOwYD
VQQKFDRSZWd1bGllcnVuZ3NiZWjIb3JkZSBmyHVyIFRlbGVrb21tdW5pa2F0aW9u
IHVuZCBQb3N0MSEwDAYHAoIGAQoHFBMBMTARBgNVBAMUCjZSLUNhIDE6UE4wIhgP
MjAwMTAyMDEwOTUyMTdaGA8yMDA1MDYwMTA5NTIxN1owbzELMAkGA1UEBhMCREUx
PTA7BgNVBAoUNFJlZ3VsaWVydW5nc2JlaMhvcmRlIGbIdXIgVGVsZWtvbW11bmlr
YXRpb24gdW5kIFBvc3QxITAMBgcCggYBCgcUEwExMBEGA1UEAxQKNlItQ2EgMTpQ
TjCBoTANBgkqhkiG9w0BAQEFAAOBjwAwgYsCgYEAg6KrFSTNXKqe+2GKGeW2wTmb
VeflNkp5H/YxA9K1zmEn5XjKm0S0jH4Wfms6ipPlURVaFwTfnB1s++AnJAWfmaya
E9BP/pdIY6WtZGgW6aZc32VDMCMKPWyBNyagsJVDmzlakIA5cXBVa7Xqqd3Pew8i
2feMnQXcqHfDv02CW88CBQDBoxIwEDAOBgNVHQ8BAf8EBAMCAQYwCgYGKyQD
AwECBQADgYEAOkqkUwdaTCt8wcJLA2zLuOwL5ADHMWLhv6gr5zEF+VckA6qeIVLV
f8e7fYlRmzQd+5OJcGglCQJLGT+ZplI3Mjnrd4plkoTNKV4iOzBcvJD7K4tnXPvs
9wCFcC7QU7PLvc1FDsAlr7e4wyefZRDL+wbqNfI7QZTSF1ubLd9AzeQwggKBBgNV
BCUwggJ4MIIB5KADAgECAgQBzUtJMAoGBiskAwMBAgUAMG8xCzAJBgNVBAYTAkRF
MT0wOwYDVQQKFDRSZWd1bGllcnVuZ3NiZWjIb3JkZSBmyHVyIFRlbGVrb21tdW5p
a2F0aW9uIHVuZCBQb3N0MSEwDAYHAoIGAQoHFBMBMTARBgNVBAMUCjZSLUNhIDE6
UE4wIhgPMjAwMzAyMTQxMjEwMTZaGA8yMDA3MDIxNDEyMTAxNlowfjELMAkGA1UE
BhMCREUxHDAaBgNVBAoUE0RldXRzY2hlIFRlbGVrb20gQUcxHzAdBgNVBAsUFlBy
b2R1a3R6ZW50cnVtIFRlbGVTZWMxMDAMBgcCggYBCgcUEwExMCAGA1UEAxQZVGVs
ZVNlYyBQS1MgU2lnRyBDQSAxMzpQTjCBoTANBgkqhkiG9w0BAQEFAAOBjwAwgYsC
gYEAhHMKdb6ayCIPINB8+nSJd3O8/QYSfQb76lg0dkRbnaD8IRk0jjEfttmRu+G8
ITjPMf0fCKckq8OzMdyc2X5DjfhjeSxhLatuJNJr78CdOLNh/t32Z12U4uoZZzz0
+U8AX583EBDe2Voliv0rUHc5dwA8qDNA6EQTm6fsQnmv/KMCBQDBoxIwEDAO
BgNVHQ8BAf8EBAMCAQYwCgYGKyQDAwECBQADgYEATCdnfEanKI0HjJkef4Ht6zmQ
A+WOLeOuE8x4jt79lY5I6hnqbpINc1YEn/AaQUFmMa2QmapOdMdJc9+SmC3N2ILh
bFrQUrRvlcqGbNEVClfhXICfLvCG9tZQOVNZOyYTMDclE603TZSCXQvumAyil3Jw
BTq6gJCYgSdxVPQ/ymUwggQbMIIDhKADAgECAgQvqpqzMA0GCSqGSIb3DQEBBQUA
MH4xCzAJBgNVBAYTAkRFMRwwGgYDVQQKFBNEZXV0c2NoZSBUZWxla29tIEFHMR8w
HQYDVQQLFBZQcm9kdWt0emVudHJ1bSBUZWxlU2VjMTAwDAYHAoIGAQoHFBMBMTAg
BgNVBAMUGVRlbGVTZWMgUEtTIFNpZ0cgQ0EgMTM6UE4wHhcNMDUwODEwMTAzMTQw
WhcNMDcwODEwMTAzMTQwWjBdMQswCQYDVQQGEwJERTEPMA0GA1UECgwGQk1XIEFH
MRswGQYDVQQLDBJBYmZhbGxiZWF1ZnRyYWd0ZXIxFDASBgNVBAMMC0x1dGhlciwg
SmFuMQowCAYDVQQFEwExMIGhMA0GCSqGSIb3DQEBAQUAA4GPADCBiwKBgQCJg5Ur
Uafxq+s3TRnzuuHTxywd4RuIuDmwce/aSBknOleiUg+xCltLizqiUPzMAfvwgLTt
mhQXkRCUkQeb9c3VVcm5ojPfEqf+tRX3Kk4iGl5MLfD2kvpe4giEdihtOszvwug4
jIep9lZMVvn3Moe2eJX+KSzltjENG7Qa8xch6QIFAMGjggHDMIIBvzAfBgNV
HSMEGDAWgBSE1q6NOppzjbluxBqtx3uqxYSl8zCCAQQGA1UdHwSB/DCB+TCB9qBt
oGuGNWxkYXA6Ly9wa3MtbGRhcC50ZWxlc2VjLmRlL289RGV1dHNjaGUgVGVsZWtv
bSBBRyxjPWRlhjJodHRwOi8vcGtzLnRlbGVzZWMuZGUvdGVsZXNlYy9zZXJ2bGV0
L2Rvd25sb2FkX2NybKKBhKSBgTB/MQswCQYDVQQGEwJERTEcMBoGA1UEChQTRGV1
dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxQWUHJvZHVrdHplbnRydW0gVGVsZVNl
YzExMAwGBwKCBgEKBxQTATEwIQYDVQQDFBpUZWxlU2VjIFBLUyBTaWdHIERJUiAx
MzpQTjAYBggrBgEFBQcBAwQMMAowCAYGBACORgEBMB0GA1UdDgQWBBQVCH4Bv6y8
npyEobJ0keHmGXUWzDAOBgNVHQ8BAf8EBAMCBkAwEgYDVR0gBAswCTAHBgUrJAgB
ATA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9wa3MudGVsZXNl
Yy5kZS9vY3NwcjANBgkqhkiG9w0BAQUFAAOBgQAGYdA98xGQnZWAh79bEU7bwXer
aXTKIDeam0FXeZcxKuQRy0Pu7ZnRXhmkQ1lQX5xc2ytbm0XRg6Ac20oD5Xs/mESG
5lF+dR4/JioXiYxVdgBLPXDp95xNUXC2etx4gtKDNtgVXA6BlyjvNZ6CrMV+32Uv
C6ozizLMGeQzS+lM6jEA
-END PKCS7-

TIA
-- 
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


Re: MS VC 5: compilation fails

2005-07-14 Thread Christian Weber
Dear Steven,

you're right.

MS VC5 compiler can't compile (at least portions of) openssl 0.9.8, but
MS VC6 compiler does.

Thank you!

Steven Reddie wrote:
> That error message tends to occur when the code is too complicated for the
> compiler.  You may be able to avoid the error by rearranging the code in
> that module, but it's a hit and miss approach.  Upgrading to a newer
> compiler should fix the problem (since this builds fine under VC6 and up). 
> 
> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Christian Weber
> Sent: Wednesday, 13 July 2005 4:40 PM
> To: openssl-users@openssl.org
> Subject: MS VC 5: compilation fails
> 
> Dear 0.9.8 users.
> 
> Openssl 0.9.8 fails to compile under VC 5 with following compiler output:
> 
>>C:\wrk\openssl-0.9.8>nmake -f ms\ntdll.mak
>>
>>Microsoft (R) Program Maintenance Utility   Version 1.62.7022
>>Copyright (C) Microsoft Corp 1988-1997. All rights reserved.
>>
>>Building OpenSSL
>>cl /Fotmp32dll\sha512.obj  -Iinc32 -Itmp32dll /MD /W3 /WX /G5 
>>/Ox /O2 /O
>>b2 /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN 
>>-DL_ENDIAN
>> -DDSO_WIN32 -DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_RC5 
>>-DOPENSSL_NO
>>_MDC2 -DOPENSSL_NO_KRB5 -D_WINDLL  -DOPENSSL_BUILD_SHLIBCRYPTO -c 
>>.\crypto\sha\s ha512.c sha512.c
>>.\crypto\sha\sha512.c(457) : fatal error C1001: INTERNAL COMPILER ERROR
>>(compiler file 'E:\utc\src\\P2\regasg.c', line 660)
>>Please choose the Technical Support command on the Visual C++
>>Help menu, or open the Technical Support help file for more 
>>information NMAKE : fatal error U1077: 'cl' : return code '0x2'
>>Stop.
> 
> 
> Is there any cure known?
> 
> TIA
> --
> Christian Weber
> mailto:[EMAIL PROTECTED]Tel: 02361/91300
> For information on InfoTech visit http://www.InfoTech.de/
> __
> OpenSSL Project http://www.openssl.org
> User Support Mailing Listopenssl-users@openssl.org
> Automated List Manager   [EMAIL PROTECTED]
> 
> ______
> OpenSSL Project http://www.openssl.org
> User Support Mailing Listopenssl-users@openssl.org
> Automated List Manager   [EMAIL PROTECTED]
> 

-- 
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


MS VC 5: compilation fails

2005-07-12 Thread Christian Weber
Dear 0.9.8 users.

Openssl 0.9.8 fails to compile under VC 5 with following compiler output:
> C:\wrk\openssl-0.9.8>nmake -f ms\ntdll.mak
> 
> Microsoft (R) Program Maintenance Utility   Version 1.62.7022
> Copyright (C) Microsoft Corp 1988-1997. All rights reserved.
> 
> Building OpenSSL
> cl /Fotmp32dll\sha512.obj  -Iinc32 -Itmp32dll /MD /W3 /WX /G5 /Ox /O2 
> /O
> b2 /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN 
> -DL_ENDIAN
>  -DDSO_WIN32 -DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_RC5 
> -DOPENSSL_NO
> _MDC2 -DOPENSSL_NO_KRB5 -D_WINDLL  -DOPENSSL_BUILD_SHLIBCRYPTO -c 
> .\crypto\sha\s
> ha512.c
> sha512.c
> .\crypto\sha\sha512.c(457) : fatal error C1001: INTERNAL COMPILER ERROR
> (compiler file 'E:\utc\src\\P2\regasg.c', line 660)
> Please choose the Technical Support command on the Visual C++
> Help menu, or open the Technical Support help file for more information
> NMAKE : fatal error U1077: 'cl' : return code '0x2'
> Stop.

Is there any cure known?

TIA
-- 
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


Base64 encoding bug?

2005-05-20 Thread Christian Weber
4oHhEXAy2aa72TsIZsfJX8BnhtEXlEsH3pt
OTqButG4S8I6Xz9oloUfZ6vnN+KxuSSe7SBNAOXQeVUQB5QVe02oyfJFNYBFaVSd
Iylg5f55otG1S5DS904A+VHKy17vluVNnySqxwFVzVUlTAsNAYIgfp5i3dp/wkaE
ERYUQ2uo03alA4JWYaWqwjx7+3JNKa3oUUMdfz/SJ6e53fR5U95h68Tivos67Z4G
vf4GpHckLBUPvw6Ru3oDhtFzbUGqx7vnulyZ9kvWJBJ0nl69w9pG+7H3q4Xe1XPb
vwPL4YkoOlm5dnvWY8K18uTLnWFoiOoV3aFxGqEcY2F/P5IAgfpJASVJoYhn6CUY
rZcfcEUTnNl8yG5U6SxRYA8w96bp2nCVch08JntbU2q2bouJGV15YgHaSFCWaEZ+
J5w+e2Si3h4q2aM4U8PJ84xR3BZUUyaMPw0gQF45kuVKNVkmR1t/QZVWo2WaQjye
FCZLnQvf2Vmq9KvaDVNbc3yXaLi4vZxz95NKtJwRpEv+4brTiKwXrR4NF5CxqtLJ
RVT7+FPMkl1vu1R2RwXD6j4ZHLlMy+Jr6ZEMb7UFxBRKWFwmVl3LWwGbmgbRfTMU
741D7nOR5epwe0L34caqgFGT8CT0wIdIsX+bbYI/Q9m/phvAK2LhAPiZgQ2Iegwa
ToKrn7ciSTgSvG482O+7/Zl0Ljqo2l61bT04T3dYYGGmWaWbD6lwbN7VjGEuO2UU
0VM2opz27EqeYVNsgDHSYXpQ8hzKDW43Ch29dNm9jap2ZFKu0kFxyAU5If2Viz31
BH1LyT0rRBcUYcGTGcaLgzumYzXZYgDFgpGsNRnGcwnHZoRnLr64roZW+l2qkd57
GuX4A5Pb7M906QrQAyU1y9CTZYFhsTd1Q2BhHbJb5hsZHAoqSJLNj1V+r0GN+Is5
4N4NsJO1MNq8w6eEBHqvx7DMgaDAYwA9Rq/BGjbxb0vlFwLLlQ5E0f5cjP6JBvco
XeW4vpbLuxdsugf8jKu0ysOfLE8QR+hSK6YX4iN3jQ/qXdx9q1TkeqaJjy/7WI9+
jPwfce80bZnHEPkIE1iH9/a22KCcwKE3WRXn/7rmEnra9kOy0AWOMoy1NJZXvG7X
+Fweb5R5gTvGDmu3LDjdTRPu/H055gUNb8I7/jqwSZ/peB7KH8Tx9vQJ4fGmBwtq
3qMBVZG+X3LM3KfLBRFPX1m6/UYVehKtLQrr9LCiFuZp+0WiuIKnCSZvS5oTQsDh
voFQ8doJ3tbhSxp2n+u4qNvC8vVXwyA+E1QDa7zDhbA3QN6zlN8shcYM5w+Zn6ll
uxIqAAdPEJpESB0NqM7Gk4EUQbLX7XGM5RZ9VwFWNLjCiuJ11hPJ+31CnnW6Uhn1
Fk5vRjv2vKwf+5HUfuRZTC6juAGPTxAmNXqmElLVbtTzd/qyihCXinJNRbS5M6hX
2trc/1d/USV/RWLCOeaT5UWEnAcEVbDvf1eeHGJXT735MLuLgTnD+w9NAXED5Ui8
4hcKpvyDyJA+M75sE9+uYPTZOjPzM/Y4vJuqftfoiO1YXKX9dCe8jhwMV3dOZ2IT
DwkTGybxPjNWQ0lVYapkCNnSZadhMSFwD61wMD2mBMqtGhvtalPPDX7MFqjdoS4E
wZSmJevWRrUkfi+XclX51FuLmO620v9f6lTW637MCeqtf+O8UlihodprYDP5nbQL
0uIU7lBSebEQeaHEotMI+DmlhFoYmKE/ygwJJ5VnPIwu4cEuLXP63B0b9qCfh+rj
weu4NvN2+LoGI+s1vm7AUBb3UPsObJ3QipGK59/k7/R5STFvlPBt9zCpir8p2B7l
QfGVEDAOqzo5nVwc3xUkJULKB61MppDet5mCbw8jygOvgBxo0j/g+niIxbzOoH7L
iKxLS0OehjE0VgBX9aN0xcnyzmDUjopgxnuUDufXtm/uuE9Q9/wpkfEXP6BZcHEU
gh1GuNDvQFRv0KTeJcXeaBeoKSqaj1Sh0O9/BDLUVVSB0HJSqO5YynccTN+yNaKC
N2oYWMl5dyt2ogE1jLeFBRA2vyt0cpzNgPPYKzBQF5hf/AxZ2PtkyNxt9P22AZTo
wbJIgLj3ycHcCrBSzNu/GhCPByUDH6DwCCFxDfs0RCEvF7h755DMmxaAdjUDc+n6
PvKjG8A3u3E0kqe3s888FHg/3NouSzC+p62+4Lm/iZyJXZ7lZTKNRktBzL8Z9v4Q
nxpUBmGmwt6SeRh/1O85WNaFgEcfyuQibCKxjzB3tZAJekmSii2EKP/MBA9z5Q3U
qqtKgRFz0rGIUv1PDNi7aGsJozPBHc9sCfAdK9feG++jOgGTJtF7HAodB26ZPB3U
ZHVjU3m2ezydO/ExN/50n/MUgu+9uWhJtQkTKQFd3agmgTBdjC85R3cHNCCQO4BG
KB3tqpBqAO+GaA+++nQZzwGw4SbezKnaWXCIeoEUVG5VpfR3QQx5soS9KExr8L0c
kaj1rYVEPH7bWvu6oV2ziQXMAj73IaTujkhTbybFdIlr4jUYE0NhE66v3v9ZMS09
/Bhxy+caWpyf5NViL73tNcrDVfM9tgE9PDmaySmvOyzehLa2Bka89NHQ+sRh+6oB
XoyxFZg/V0Az39VN1ESwMqHZUhcuMUTVsY9c4xQHbJcv2Y5tylVYPips5lHE3tvr
RX7U5Eer42qd1jaWM5vy4lZtW8iUqUIzvGYdZEK2jGiVtpGx7z98wo9AfKpCZKM+
MVtK/oixe9GJksDm+bi3tRhVueZfDLFlMApuBqwsqSXkVJJSD++3NOWQJkvTRAH7
nnG1d9aULRodW3iVbSkSOPXsECPb7u9D5WWs8OS3TZ7PvEKHEmVt3Qmd44hJsbXW
2yfLUrptSC1DcGrvvc9eRSb2g1o=
.
-- snapp --
Thanks in advance
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


How to handle metadata when signing

2005-02-22 Thread Christian Weber
Hi,
when it comes to signing eg mails with openssl exactly the content
(plaintext or binary block) happens to be signed.
In case of attachments only the attached content is signed and in
turn candidate for transmission. The metadata, especially the
filename gets lost.
What if you want (or need) some metadata? Where do you think are
they properly located?
For e-mail it could be somewhere within the mime-header, but the
generic purpose of the header are to clarify how to handle the
mime contents which is firstly some signed content. Do you have
any proposal for such headerfields?
Another approach is the signature itself. How about integrating
the metadata within the signature's ASN structure? Do you hava any
recommendation for location and propoer OIDs? Any hint to RFCs
concerning this topic?
TIA
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   [EMAIL PROTECTED]


Unresolved external EVP_sha1

2004-12-03 Thread Christian Weber
We´re using openssl for a longer time now.
With the current official version we´ve got a problem.
Compilation under win with nasm and vc5 succeeds.
Since our Project are Builder and bc5 Projects we
call implib on the resulting dlls with
implib -c -a libeay32.lib libeay32.dll
and take the resulting lib into the borland projects.
Since the latest version 0.9.7e of 10/25 we get
an error message from the linker:
"Unresolved external EVP_sha1"
EVP_md5() and EVP_dss() both do work (with the same lib.
Is this a known problem? Any Solution?
Thanks in advance
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing List[EMAIL PROTECTED]
Automated List Manager   [EMAIL PROTECTED]


OCSP Response telesek

2004-06-23 Thread Christian Weber
OK, the previous answer was pretty fast - thank you.
Now there´s another stupid question: why does the command
openssl ocsp -respin ocsp.resp -CAfile CAs.pem
lead to
Response Verify Failure
19961:error:27069070:OCSP routines:OCSP_basic_verify:root ca not 
trusted:ocsp_vfy.c:148:
though the correct root ca cert (CN=6R-Ca 1:PN) is contained in CAs.pem ?
The cert seems to be valid and the chain seems to be complete.
What´s wrong?
Again, the file (this time ocsp.resp) is contained in the following base64-block

MIIG4QoBAKCCBtowggbWBgkrBgEFBQcwAQEEggbHMIIGwzCCATuhgYEwfzELMAkG
A1UEBhMCREUxHDAaBgNVBAoUE0RldXRzY2hlIFRlbGVrb20gQUcxHzAdBgNVBAsU
FlByb2R1a3R6ZW50cnVtIFRlbGVTZWMxMTAMBgcCggYBCgcUEwExMCEGA1UEAxQa
VGVsZVNlYyBQS1MgU2lnRyBESVIgMjk6UE4YDzIwMDQwNjIyMDkyMzU3WjCBozCB
oDA9MAkGBSsOAwIaBQAEFEYVRei2XiQgH+6qvRyBvvarzxqCBBQMmgzhg7+7+YBo
G0Ifr7LFRSj/MAIEL62IToAAGA8yMDA0MDYyMjA5MjM1N1qhTDBKMBoGBSskCAMM
BBEYDzIwMDMwNzI4MTUzNDU3WjAsBgUrJAgDDQQjMCEwCQYFKw4DAhoFAAQUb+qB
0hgaeFO1joALJOdZasdM19kwDQYJKoZIhvcNAQEFBQADgYEAdzL3St/c4Z+70yqn
BPgFYKy7sGez+PKB2viy6ZtS5kZvoE6CJVnyyk6BHLlE8EoP7Cu8Zl67BHxPbAAj
3NXO/EgPZMZqwEVMju5JMBpDYE28+1s78D3PO5iSJJn5AXIKoTNkrhsvGZa/pOkC
+BHsVauaGyHKyLWL+t9fNPf56H+gggTtMIIE6TCCAnkwggHloAMCAQICBAHlZ1kw
CgYGKyQDAwECBQAwbzELMAkGA1UEBhMCREUxPTA7BgNVBAoUNFJlZ3VsaWVydW5n
c2JlaMhvcmRlIGbIdXIgVGVsZWtvbW11bmlrYXRpb24gdW5kIFBvc3QxITAMBgcC
ggYBCgcUEwExMBEGA1UEAxQKNlItQ2EgMTpQTjAiGA8yMDAzMDYzMDA5NTQzMFoY
DzIwMDcwNjMwMDk1NDMwWjB/MQswCQYDVQQGEwJERTEcMBoGA1UEChQTRGV1dHNj
aGUgVGVsZWtvbSBBRzEfMB0GA1UECxQWUHJvZHVrdHplbnRydW0gVGVsZVNlYzEx
MAwGBwKCBgEKBxQTATEwIQYDVQQDFBpUZWxlU2VjIFBLUyBTaWdHIERJUiAyOTpQ
TjCBoTANBgkqhkiG9w0BAQEFAAOBjwAwgYsCgYEAiq3HkxUwn7blTpZonuLR4j0h
ertCeWBSVhnArFgbxaQij0I9402I7z3pOfjbS9YQcrpEC48psgjq0tTRStOGtaDh
iKM5bwA6wl741OGR8yanm9YcGnm6hqHtUv0HIQoYmQxszm5mqUNaHdVKfwaz6s1p
JK1I2Fwmvn77OX5NH18CBQDBoxIwEDAOBgNVHQ8BAf8EBAMCAQIwCgYGKyQD
AwECBQADgYEAA2UJLezrN0h/iaa2fgGDQRu2tIl/EhYfBnwQQTzBJRw6GzyiGAXz
5EhmiPl13cbOrpHcU/Y5itQY9W53DEby1yqdSHAB0eGaFx4Qv9pOj0CTT76cNxWJ
p0zAIyQG1fDMvFp8MkQDwXnFWcHhYy1UpLK66IScJdikZe++8pl03ccwggJoMIIB
1KADAgECAgMy0Y0wCgYGKyQDAwECBQAwbzELMAkGA1UEBhMCREUxPTA7BgNVBAoU
NFJlZ3VsaWVydW5nc2JlaMhvcmRlIGbIdXIgVGVsZWtvbW11bmlrYXRpb24gdW5k
IFBvc3QxITAMBgcCggYBCgcUEwExMBEGA1UEAxQKNlItQ2EgMTpQTjAiGA8yMDAx
MDIwMTA5NTIxN1oYDzIwMDUwNjAxMDk1MjE3WjBvMQswCQYDVQQGEwJERTE9MDsG
A1UEChQ0UmVndWxpZXJ1bmdzYmVoyG9yZGUgZsh1ciBUZWxla29tbXVuaWthdGlv
biB1bmQgUG9zdDEhMAwGBwKCBgEKBxQTATEwEQYDVQQDFAo2Ui1DYSAxOlBOMIGh
MA0GCSqGSIb3DQEBAQUAA4GPADCBiwKBgQCDoqsVJM1cqp77YYoZ5bbBOZtV5+U2
Snkf9jED0rXOYSfleMqbRLSMfhZ+azqKk+VRFVoXBN+cHWz74CckBZ+ZrJoT0E/+
l0hjpa1kaBbpplzfZUMwIwo9bIE3JqCwlUObOVqQgDlxcFVrteqp3c97DyLZ94yd
Bdyod8O/TYJbzwIFAMGjEjAQMA4GA1UdDwEB/wQEAwIBBjAKBgYrJAMDAQIF
AAOBgQA6SqRTB1pMK3zBwksDbMu47AvkAMcxYuG/qCvnMQX5VyQDqp4hUtV/x7t9
iVGbNB37k4lwaCUJAksZP5mmUjcyOet3imWShM0pXiI7MFy8kPsri2dc++z3AIVw
LtBTs8u9zUUOwCWvt7jDJ59lEMv7Buo18jtBlNIXW5st30DN5A==

thanks in advance again
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/
__
OpenSSL Project http://www.openssl.org
User Support Mailing List[EMAIL PROTECTED]
Automated List Manager   [EMAIL PROTECTED]


OSCP Resonse signtrust

2004-06-23 Thread Christian Weber
d1bGllcnVuZ3NiZWjIb3JkZSBmyHVy
IFRlbGVrb21tdW5pa2F0aW9uIHVuZCBQb3N0MSEwDAYHAoIGAQoHFBMBMTARBgNV
BAMUCjVSLUNBIDE6UE4wgaEwDQYJKoZIhvcNAQEBBQADgY8AMIGLAoGBAIoeQVMn
HwaaioVPEQ7Gkr1eQLc1nl0EQqJS/Qh97dAyp4YygJSfInHBbSTb/nd24fG2/bId
JmkUqOuO8T+4bB04yoExOMzOQWDX170k+/TrXDIAM65w4ho0CCFr/MW31dTKscXb
WScoK8M0TG/YxggBqCRMpqMswDDRu7UnQVp1AgUAwaMSMBAwDgYDVR0PAQH/
BAQDAgEGMAoGBiskAwMBAgUAA4GBADmivIoVUgVHC9iHVQcWWGFCsDM+Zux986oT
fFvcPomn1rnR+m/mmoZGxDRMM4Nwt7+YPJ83u7+7LGnEM3uueyx4z/nu5LFAyIHE
uEdaVNnjdem40j/6hjxd64ayBB6CuZyVC5I5GWE7TYjr5kP/hu9E1w4tzrP08C5V
kb7vu2Cz

Sorry, i had to code it this way to get it into the list.
Thanks in advance
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de/

__
OpenSSL Project http://www.openssl.org
User Support Mailing List[EMAIL PROTECTED]
Automated List Manager   [EMAIL PROTECTED]


Howto add signed attributes in mails

2003-12-31 Thread Christian Weber
Dear OpenSSL user,

does anybody have a hint how to add a signed attribute during signing
with smime? Further: which OID should be taken to add a attribute like
"siged on behalf of..." or "representing (a function)".
In which order should that OID be added to the other signed attirbutes
(like signing time).
In which way should the api be used to extract signed attributes from
verfication process or during signing for visualization?
Using smime (source), are the singed attributes in the p7 structure?
How may we extraxt e.g. the signing time or the other signed attributes
as mentioned above?
Thanks for hints.
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de
__
OpenSSL Project http://www.openssl.org
User Support Mailing List[EMAIL PROTECTED]
Automated List Manager   [EMAIL PROTECTED]


BIO Handling

2003-02-28 Thread Christian Weber
Dear OpenSSL users,

we want to want to operate on the Contents of a memory BIO
- eg digest - and tried out following implementation:

-
BIO *mb = BIO_new(BIO_s_mem());
// filling it with some data
char* message="This is some data to digest";
BIO_write(mb, message, sizeof(message));

// after the memory bio has been filled
BIO *dg = BIO_new(BIO_f_md()), *nul=BIO_new(BIO_s_null());
EVP_MD *md = EVP_md5();
BIO_set_md(dg,md);

// get all out of the mb and diget it
BIO_push(mb,dg);  // append digesting to mem-BIO
BIO_push(dg,nul); // get all out of digest-BIO
// BIO chain should be: mem-dgst-nul

// get the digest now
char mdbuf[EVP_MAX_MD_SIZE];
BIO_gets(dg, mdbuf, EVP_MAX_MD_SIZE);
-

but the memory BIO stays filled, even after performing
BIO_flush(mb) and the digest we get out of dg is the 
digesting start value.

So what am I missing? How can the propagation of 
the memory data through the filter BIO be triggered?

Thanks in advance
--
Christian Weber
mailto:[EMAIL PROTECTED]Tel: 02361/91300
For information on InfoTech visit http://www.InfoTech.de

__
OpenSSL Project http://www.openssl.org
User Support Mailing List[EMAIL PROTECTED]
Automated List Manager   [EMAIL PROTECTED]