Anyone up for a possible solution?

2016-02-06 14:51 GMT+01:00 Nicholas Mainardi <mainardinicho...@gmail.com>:

> If I remove cert_pi_certList from the array, invalid_args error turns into
> untrusted_issuer error (-8172). So, it seems that even if I don't add the
> intermediate CA certificate in certList, the lookup in cert DB is fine, but
> it doesn't manage to validate the CA certificate. Indeed, if I give only
> the CA certificate as input, I got inadequate_cert_type error (-8101). Same
> result by removing also cert_pi_useAIACertFetch. I try to change the
> certificate usages  parameter, but the error varies from invalid_args to
> inadeauqte_key_usage(-8102).
>
> I know that the certificate chain is correct, I have already used it as a
> testing input for other libraries, and I know I have a trust anchor for the
> CA certificate in my system root certificates. I think that the issue is
> the error inadequate_cert_type on the CA certificate, but I have no idea
> about what can cause this error. Moreover, I got invalid_args error even
> passing trustAnchors instead of cert_pi_certList. So, I suppose there are
> some issues with the processing made by Cert_PKIXVerifyCert function.
>
> Thank You,
>
> Nicholas
>
> 2016-02-06 2:42 GMT+01:00 Julien Pierre <julien.pie...@oracle.com>:
>
>> Nicholas,
>>
>> It looks like
>>
>> cert_pi_certList
>>
>> is indeed never processed. So that seems to be unimplemented. I'm not
>> quite sure why that is. It's been a long type since I worked on NSS/libpkix.
>> What happens if you remove that parameter from your list ?
>>
>> Once the certs are decoded, presumably in your parse_cert function, they
>> will be available in the NSS softoken as temp certs, and will be searchable
>> and findable by CERT_PKIXVerifyCert .
>> The chain building should rebuild the chain (or possibly another chain).
>> If you are using AIA fetch with cert_pi_useAIACertFetch, then presumably,
>> your chain is possibly incomplete.
>> Thus, you don't really want to use cert_pi_certList anyway, as that would
>> imply no more building.
>>
>> I think if you remove the cert_pi_certList, and if you have a trust
>> anchor in your softoken cert DB, then the rebuilding+validation should work.
>>
>> Julien
>>
>> On 2/5/2016 06:03, Nicholas Mainardi wrote:
>>
>>> Hello,
>>>
>>> Thank you for your reply. I looked for the function you mentioned and I
>>> looked at the usage examples. I edit <http://pastebin.com/4BQsinXM> my
>>> previous code to use the function, but I'm getting error invalid_args
>>> (-8187). After some trials, I figure out it's caused by the
>>> cert_pi_certList type in input parameter. Looking at how these parameters
>>> are processed, I got to this function
>>> <
>>> http://mxr.mozilla.org/security/source/security/nss/lib/certhigh/certvfypkix.c#1509
>>> >,
>>> which contains a switch on the param type. However, it doesn't exist a
>>> case
>>> for every types listed here
>>> <
>>> http://mxr.mozilla.org/security/source/security/nss/lib/certdb/certt.h#898
>>> >,
>>>
>>> and the default case raise invalid_args. Isn't this a bug of this
>>> function?
>>>
>>> However, I tried also with cert_pi_trustAnchors type (which has a case in
>>> the function), but I got the same error. And also if I change the
>>> certificate usage parameter, I got this error. So, is there something
>>> wrong
>>> in the code I have written?
>>>
>>> Thanks,
>>>
>>> Nicholas
>>>
>>> 2016-02-04 1:14 GMT+01:00 Julien Pierre <julien.pie...@oracle.com>:
>>>
>>> CERT_VerifyCertNow is a legacy API that does not support the full set of
>>>> RFC 3280/5280 features.
>>>> To support things like policy checks, you can use libpkix .
>>>> Look for CERT_PKIXVerifyCert . There are examples of usage in the NSS
>>>> test
>>>> programs vfychain and tstclnt .
>>>> The library supports many more options than may be tested, though.
>>>>
>>>> Julien
>>>>
>>>> On 2/3/2016 08:37, Nicholas Mainardi wrote:
>>>>
>>>> Hello,
>>>>>
>>>>> I'm comparing different libraries to verify X509 certificate chains. I
>>>>> had
>>>>> some issues to find how to use NSS to perform this task. At the end, I
>>>>> managed to get a working code with one certificate chain. You can find
>>>>> the
>>>>> code in this question
>>>>> <
>>>>>
>>>>> http://stackoverflow.com/questions/34982796/how-to-parse-and-validate-certificates-with-nss
>>>>> I asked on stack overflow. I would like to know if the code I wrote is
>>>>> the
>>>>> correct way to verify a certificate chain using NSS, and if there are
>>>>> other
>>>>> parameters to customize the verify algorithm which can be set (i.e. a
>>>>> flag
>>>>> to enable policy check etc.). If the code is correct, I suggest it
>>>>> could
>>>>> be
>>>>> added to NSS examples on the documentation.
>>>>>
>>>>> Thank You,
>>>>>
>>>>> Nicholas
>>>>>
>>>>> --
>>>> dev-tech-crypto mailing list
>>>> dev-tech-crypto@lists.mozilla.org
>>>> https://lists.mozilla.org/listinfo/dev-tech-crypto
>>>>
>>>>
>> --
>> dev-tech-crypto mailing list
>> dev-tech-crypto@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-tech-crypto
>>
>
>
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to