# Path: asn1crypto/ocsp.py
# class Version(Integer):
# class CertId(Sequence):
# class ServiceLocator(Sequence):
# class RequestExtensionId(ObjectIdentifier):
# class RequestExtension(Sequence):
# class RequestExtensions(SequenceOf):
# class Request(Sequence):
# class Requests(SequenceOf):
# class ResponseType(ObjectIdentifier):
# class AcceptableResponses(SequenceOf):
# class PreferredSignatureAlgorithm(Sequence):
# class PreferredSignatureAlgorithms(SequenceOf):
# class TBSRequestExtensionId(ObjectIdentifier):
# class TBSRequestExtension(Sequence):
# class TBSRequestExtensions(SequenceOf):
# class TBSRequest(Sequence):
# class Certificates(SequenceOf):
# class Signature(Sequence):
# class OCSPRequest(Sequence):
# class OCSPResponseStatus(Enumerated):
# class ResponderId(Choice):
# class StatusGood(Null):
# class StatusUnknown(Null):
# class RevokedInfo(Sequence):
# class CertStatus(Choice):
# class CrlId(Sequence):
# class SingleResponseExtensionId(ObjectIdentifier):
# class SingleResponseExtension(Sequence):
# class SingleResponseExtensions(SequenceOf):
# class SingleResponse(Sequence):
# class Responses(SequenceOf):
# class ResponseDataExtensionId(ObjectIdentifier):
# class ResponseDataExtension(Sequence):
# class ResponseDataExtensions(SequenceOf):
# class ResponseData(Sequence):
# class BasicOCSPResponse(Sequence):
# class ResponseBytes(Sequence):
# class OCSPResponse(Sequence):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def service_locator_value(self):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def nonce_value(self):
#     def acceptable_responses_value(self):
#     def preferred_signature_algorithms_value(self):
#     def set(self, value):
#     def native(self):
#     def set(self, value):
#     def native(self):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def crl_value(self):
#     def archive_cutoff_value(self):
#     def crl_reason_value(self):
#     def invalidity_date_value(self):
#     def certificate_issuer_value(self):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def nonce_value(self):
#     def extended_revoke_value(self):
#     def basic_ocsp_response(self):
#     def response_data(self):
# 
# Path: asn1crypto/util.py
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
#         def __init__(self, offset, name=None):
#         def __eq__(self, other):
#         def __getinitargs__(self):
#         def tzname(self, dt):
#         def utcoffset(self, dt):
#         def dst(self, dt):
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
# def _format_offset(off):
#     def tzname(self, dt):
#     def utcoffset(self, dt):
#     def dst(self, dt):
# def create_timezone(offset):
#     def __init__(self, year, month, day):
#     def year(self):
#     def month(self):
#     def day(self):
#     def strftime(self, format):
#     def isoformat(self):
#     def replace(self, year=None, month=None, day=None):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __init__(self, year, *args, **kwargs):
#     def year(self):
#     def month(self):
#     def day(self):
#     def hour(self):
#     def minute(self):
#     def second(self):
#     def microsecond(self):
#     def tzinfo(self):
#     def utcoffset(self):
#     def time(self):
#     def date(self):
#     def strftime(self, format):
#     def isoformat(self, sep='T'):
#     def replace(self, year=None, *args, **kwargs):
#     def astimezone(self, tz):
#     def timestamp(self):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __add__(self, other):
#     def __sub__(self, other):
#     def __rsub__(self, other):
#     def from_y2k(cls, value):
#     class timezone(tzinfo):  # noqa
# class _UtcWithDst(tzinfo):
# class extended_date(object):
# class extended_datetime(object):
#     DAYS_IN_400_YEARS = 400 * 365 + 97
#     DAYS_IN_2000_YEARS = 5 * DAYS_IN_400_YEARS


import unittest
import sys
import os
from datetime import datetime
from asn1crypto import ocsp, util
from ._unittest_compat import patch
        )
        self.assertIsInstance(
            basic_ocsp_response['certs'].native,
            list
        )
        self.assertEqual(
            1,
            len(basic_ocsp_response['certs'])
        )
        self.assertEqual(
            'v3',
            cert['tbs_certificate']['version'].native
        )

    def test_cert_status_native(self):
        status = ocsp.CertStatus.load(b'\x80\x00')
        self.assertEqual('good', status.native)

        status = ocsp.CertStatus(('good', ocsp.StatusGood()))
        self.assertEqual('good', status.native)

        with self.assertRaises(ValueError):
            ocsp.StatusGood('unknown')

        status = ocsp.CertStatus.load(
            b'\xa1\x16\x18\x0f\x32\x30\x31\x38\x31\x30\x30\x33'
            b'\x31\x34\x35\x33\x34\x37\x5a\xa0\x03\x0a\x01\x01'
        )
        self.assertIsInstance(
            status.native,

# Path: asn1crypto/ocsp.py
# class Version(Integer):
# class CertId(Sequence):
# class ServiceLocator(Sequence):
# class RequestExtensionId(ObjectIdentifier):
# class RequestExtension(Sequence):
# class RequestExtensions(SequenceOf):
# class Request(Sequence):
# class Requests(SequenceOf):
# class ResponseType(ObjectIdentifier):
# class AcceptableResponses(SequenceOf):
# class PreferredSignatureAlgorithm(Sequence):
# class PreferredSignatureAlgorithms(SequenceOf):
# class TBSRequestExtensionId(ObjectIdentifier):
# class TBSRequestExtension(Sequence):
# class TBSRequestExtensions(SequenceOf):
# class TBSRequest(Sequence):
# class Certificates(SequenceOf):
# class Signature(Sequence):
# class OCSPRequest(Sequence):
# class OCSPResponseStatus(Enumerated):
# class ResponderId(Choice):
# class StatusGood(Null):
# class StatusUnknown(Null):
# class RevokedInfo(Sequence):
# class CertStatus(Choice):
# class CrlId(Sequence):
# class SingleResponseExtensionId(ObjectIdentifier):
# class SingleResponseExtension(Sequence):
# class SingleResponseExtensions(SequenceOf):
# class SingleResponse(Sequence):
# class Responses(SequenceOf):
# class ResponseDataExtensionId(ObjectIdentifier):
# class ResponseDataExtension(Sequence):
# class ResponseDataExtensions(SequenceOf):
# class ResponseData(Sequence):
# class BasicOCSPResponse(Sequence):
# class ResponseBytes(Sequence):
# class OCSPResponse(Sequence):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def service_locator_value(self):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def nonce_value(self):
#     def acceptable_responses_value(self):
#     def preferred_signature_algorithms_value(self):
#     def set(self, value):
#     def native(self):
#     def set(self, value):
#     def native(self):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def crl_value(self):
#     def archive_cutoff_value(self):
#     def crl_reason_value(self):
#     def invalidity_date_value(self):
#     def certificate_issuer_value(self):
#     def _set_extensions(self):
#     def critical_extensions(self):
#     def nonce_value(self):
#     def extended_revoke_value(self):
#     def basic_ocsp_response(self):
#     def response_data(self):
# 
# Path: asn1crypto/util.py
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
#         def __init__(self, offset, name=None):
#         def __eq__(self, other):
#         def __getinitargs__(self):
#         def tzname(self, dt):
#         def utcoffset(self, dt):
#         def dst(self, dt):
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
# def _format_offset(off):
#     def tzname(self, dt):
#     def utcoffset(self, dt):
#     def dst(self, dt):
# def create_timezone(offset):
#     def __init__(self, year, month, day):
#     def year(self):
#     def month(self):
#     def day(self):
#     def strftime(self, format):
#     def isoformat(self):
#     def replace(self, year=None, month=None, day=None):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __init__(self, year, *args, **kwargs):
#     def year(self):
#     def month(self):
#     def day(self):
#     def hour(self):
#     def minute(self):
#     def second(self):
#     def microsecond(self):
#     def tzinfo(self):
#     def utcoffset(self):
#     def time(self):
#     def date(self):
#     def strftime(self, format):
#     def isoformat(self, sep='T'):
#     def replace(self, year=None, *args, **kwargs):
#     def astimezone(self, tz):
#     def timestamp(self):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __add__(self, other):
#     def __sub__(self, other):
#     def __rsub__(self, other):
#     def from_y2k(cls, value):
#     class timezone(tzinfo):  # noqa
# class _UtcWithDst(tzinfo):
# class extended_date(object):
# class extended_datetime(object):
#     DAYS_IN_400_YEARS = 400 * 365 + 97
#     DAYS_IN_2000_YEARS = 5 * DAYS_IN_400_YEARS


# Path: tests/test_ocsp.py
import unittest
import sys
import os
from datetime import datetime
from asn1crypto import ocsp, util
from ._unittest_compat import patch

        )
        self.assertIsInstance(
            basic_ocsp_response['certs'].native,
            list
        )
        self.assertEqual(
            1,
            len(basic_ocsp_response['certs'])
        )
        self.assertEqual(
            'v3',
            cert['tbs_certificate']['version'].native
        )

    def test_cert_status_native(self):
        status = ocsp.CertStatus.load(b'\x80\x00')
        self.assertEqual('good', status.native)

        status = ocsp.CertStatus(('good', ocsp.StatusGood()))
        self.assertEqual('good', status.native)

        with self.assertRaises(ValueError):
            ocsp.StatusGood('unknown')

        status = ocsp.CertStatus.load(
            b'\xa1\x16\x18\x0f\x32\x30\x31\x38\x31\x30\x30\x33'
            b'\x31\x34\x35\x33\x34\x37\x5a\xa0\x03\x0a\x01\x01'
        )
        self.assertIsInstance(
            status.native,

            util.OrderedDict