コード例 #1
0
def smime_load_pkcs7_bio(p7_bio):
    p7_ptr, bio_ptr = m2.smime_read_pkcs7(p7_bio._ptr())
    if p7_ptr is None:
        raise SMIME_Error(Err.get_error())
    if bio_ptr is None:
        return PKCS7(p7_ptr, 1), None
    else:
        return PKCS7(p7_ptr, 1), BIO.BIO(bio_ptr, 1)
コード例 #2
0
 def makefile(self, mode='rb', bufsize='ignored'):
     r = 'r' in mode or '+' in mode
     w = 'w' in mode or 'a' in mode or '+' in mode
     b = 'b' in mode
     m2mode = ['', 'r'][r] + ['', 'w'][w] + ['', 'b'][b]
     # XXX Need to dup().
     bio = BIO.BIO(self.sslbio, _close_cb=self.close)
     m2.bio_do_handshake(bio._ptr())
     return BIO.IOBuffer(bio, m2mode, _pyfree=0)
コード例 #3
0
def smime_load_pkcs7(p7file):
    # type: (AnyStr) -> PKCS7
    bio = m2.bio_new_file(p7file, 'r')

    try:
        p7_ptr, bio_ptr = m2.smime_read_pkcs7(bio)
    finally:
        m2.bio_free(bio)

    if bio_ptr is None:
        return PKCS7(p7_ptr, 1), None
    else:
        return PKCS7(p7_ptr, 1), BIO.BIO(bio_ptr, 1)
コード例 #4
0
def smime_load_pkcs7(p7file):
    bio = m2.bio_new_file(p7file, 'r')
    if bio is None:
        raise BIO.BIOError(Err.get_error())

    try:
        p7_ptr, bio_ptr = m2.smime_read_pkcs7(bio)
    finally:
        m2.bio_free(bio)

    if p7_ptr is None:
        raise SMIME_Error(Err.get_error())
    if bio_ptr is None:
        return PKCS7(p7_ptr, 1), None
    else:
        return PKCS7(p7_ptr, 1), BIO.BIO(bio_ptr, 1)