| Index: third_party/google-endpoints/pyasn1_modules/rfc3447.py
|
| diff --git a/third_party/google-endpoints/pyasn1_modules/rfc3447.py b/third_party/google-endpoints/pyasn1_modules/rfc3447.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..96dea7fcb5d13334645e3ca13f2189b6ad456695
|
| --- /dev/null
|
| +++ b/third_party/google-endpoints/pyasn1_modules/rfc3447.py
|
| @@ -0,0 +1,35 @@
|
| +#
|
| +# PKCS#1 syntax
|
| +#
|
| +# ASN.1 source from:
|
| +# ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.asn
|
| +#
|
| +# Sample captures could be obtained with "openssl genrsa" command
|
| +#
|
| +from pyasn1_modules.rfc2437 import *
|
| +
|
| +class OtherPrimeInfo(univ.Sequence):
|
| + componentType = namedtype.NamedTypes(
|
| + namedtype.NamedType('prime', univ.Integer()),
|
| + namedtype.NamedType('exponent', univ.Integer()),
|
| + namedtype.NamedType('coefficient', univ.Integer())
|
| + )
|
| +
|
| +class OtherPrimeInfos(univ.SequenceOf):
|
| + componentType = OtherPrimeInfo()
|
| + subtypeSpec = univ.SequenceOf.subtypeSpec + \
|
| + constraint.ValueSizeConstraint(1, MAX)
|
| +
|
| +class RSAPrivateKey(univ.Sequence):
|
| + componentType = namedtype.NamedTypes(
|
| + namedtype.NamedType('version', univ.Integer(namedValues=namedval.NamedValues(('two-prime', 0), ('multi', 1)))),
|
| + namedtype.NamedType('modulus', univ.Integer()),
|
| + namedtype.NamedType('publicExponent', univ.Integer()),
|
| + namedtype.NamedType('privateExponent', univ.Integer()),
|
| + namedtype.NamedType('prime1', univ.Integer()),
|
| + namedtype.NamedType('prime2', univ.Integer()),
|
| + namedtype.NamedType('exponent1', univ.Integer()),
|
| + namedtype.NamedType('exponent2', univ.Integer()),
|
| + namedtype.NamedType('coefficient', univ.Integer()),
|
| + namedtype.OptionalNamedType('otherPrimeInfos', OtherPrimeInfos())
|
| + )
|
|
|