Hi Paul,

I already have the ASN.1 dotted notation values and just need a way to sign the 
PKCS7 EnvelopedData with those OIDs. I think you are correct in that what I 
need here is a way to build and sign arbitrary PKCS7 structures since SCEP does 
some nesting. The diagram on Page 14/15 of the IETF draft for SCEP is a helpful 
way to visualize it: https://tools.ietf.org/html/draft-gutmann-scep-01#page-15 
<https://tools.ietf.org/html/draft-gutmann-scep-01#page-15>

Would this be something the community is interested in?

Thanks,

Micah

> On Oct 5, 2015, at 7:32 AM, Paul Kehrer <paul.l.keh...@gmail.com 
> <mailto:paul.l.keh...@gmail.com>> wrote:
> 
> It has been a long time since I looked at SCEP, but it looks like it requires 
> PKCS7 SignedData/EnvelopedData structures? Cryptography can't generate 
> arbitrary ASN.1 so you'd need to generate it outside of cryptography (using 
> something like pyasn1 or https://github.com/wbond/asn1crypto 
> <https://github.com/wbond/asn1crypto>) and then sign it using cryptography 
> (which may or may not be possible with the currently exposed primitives -- I 
> didn't dig into how SCEP does the SignedData).
> 
> I suspect what you need here is a PKCS7 implementation in cryptography, since 
> that would hypothetically allow you to build/sign arbitrary PKCS7 structures, 
> but maybe I'm misunderstanding the problem and it's simpler than that.
> 
> -Paul
> On October 4, 2015 at 7:03:53 PM, Micah Baker (hacim.re...@gmail.com 
> <mailto:hacim.re...@gmail.com>) wrote:
> 
>> Hi Paul,
>> 
>> SCEP requires a senderNonce and transactionID to be returned to the client 
>> requesting the certificate. Those two values are included in the signed 
>> message the client sends to the server, and then the server must take the 
>> two values and include them in the response to the client or the client is 
>> supposed to reject the response. This is not just adding an OID for a 
>> capability, it’s also adding a value to the OID which must be included in 
>> the signed response. Does  x509.ObjectIdentifier allow something to the 
>> effect of 1.2.3.4=some random bytes or text?
>> 
>> Thanks,
>> 
>> Micah
>> 
>>> On Oct 4, 2015, at 4:59 PM, Paul Kehrer <paul.l.keh...@gmail.com 
>>> <mailto:paul.l.keh...@gmail.com>> wrote:
>>> 
>>> Micah,
>>> 
>>> You can define any OID you want just by passing a string of the dotted 
>>> value of the OID to the constructor of x509.ObjectIdentifier. You won't get 
>>> the human readable name, but that's not a big deal. However, that class is 
>>> really just a convenience and doesn't have any behavior so I'm not sure 
>>> what benefit it would be to you when implementing SCEP. Could you elaborate 
>>> a bit on what you're trying to do?
>>> 
>>> 
>>> -Paul (reaperhulk)
>>> 
>>> On October 4, 2015 at 6:33:57 PM, Micah Baker (hacim.re...@gmail.com 
>>> <mailto:hacim.re...@gmail.com>) wrote:
>>> 
>>>> I’m attempting to build a SCEP server using cryptography and don’t see a 
>>>> way to add OIDs not already defined by the module. If it is not possible 
>>>> to use other real OIDs, can we add the half-dozen SCEP OIDs to 
>>>> cryptography? The OIDs can be found here: 
>>>> https://tools.ietf.org/html/draft-gutmann-scep-01#page-17 
>>>> <https://tools.ietf.org/html/draft-gutmann-scep-01#page-17>. If someone is 
>>>> willing to give me some pointers I could try to write a patch for this, 
>>>> assuming it’s just a table of supported OIDs somewhere.
>>>> _______________________________________________ 
>>>> Cryptography-dev mailing list 
>>>> Cryptography-dev@python.org <mailto:Cryptography-dev@python.org> 
>>>> https://mail.python.org/mailman/listinfo/cryptography-dev 
>>>> <https://mail.python.org/mailman/listinfo/cryptography-dev>
_______________________________________________
Cryptography-dev mailing list
Cryptography-dev@python.org
https://mail.python.org/mailman/listinfo/cryptography-dev

Reply via email to