create method

create(cert_bytes, password)

Creates CertificateHolder object using byte array of PKCS12 store and its password.

def create(self, cert_bytes: bytes, password: str):
    ...
ParameterTypeDescription
cert_bytesbytesA byte array that contains data from an X.509 certificate.
passwordstrThe password required to access the X.509 certificate data.

Returns

An instance of CertificateHolder

Exceptions

exceptioncondition
RuntimeError (Proxy error(InvalidParameterException))Thrown if certBytes isNone
RuntimeError (Proxy error(InvalidParameterException))Thrown if password isNone
RuntimeError (Proxy error(SecurityException))Thrown if PKCS12 store contains no aliases
RuntimeError (Proxy error(IOException))Thrown if there is wrong password or corrupted file.

create(file_name, password)

Creates CertificateHolder object using path to PKCS12 store and its password.

def create(self, file_name: str, password: str):
    ...
ParameterTypeDescription
file_namestrThe name of a certificate file.
passwordstrThe password required to access the X.509 certificate data.

Returns

An instance of CertificateHolder

Exceptions

exceptioncondition
RuntimeError (Proxy error(InvalidParameterException))Thrown if fileName isNone
RuntimeError (Proxy error(InvalidParameterException))Thrown if password isNone
RuntimeError (Proxy error(SecurityException))Thrown if PKCS12 store contains no aliases
RuntimeError (Proxy error(IOException))Thrown if there is wrong password or corrupted file.

create(file_name, password, alias)

Creates CertificateHolder object using path to PKCS12 store, its password and the alias by using which private key and certificate will be found.

def create(self, file_name: str, password: str, alias: str):
    ...
ParameterTypeDescription
file_namestrThe name of a certificate file.
passwordstrThe password required to access the X.509 certificate data.
aliasstrThe associated alias for a certificate and its private key

Returns

An instance of CertificateHolder

Exceptions

exceptioncondition
RuntimeError (Proxy error(InvalidParameterException))Thrown if fileName isNone
RuntimeError (Proxy error(InvalidParameterException))Thrown if password isNone
RuntimeError (Proxy error(SecurityException))Thrown if PKCS12 store contains no aliases
RuntimeError (Proxy error(IOException))Thrown if there is wrong password or corrupted file.
RuntimeError (Proxy error(SecurityException))Thrown if there is no private key with the given alias

Examples

Shows how to digitally sign documents.

# Create an X.509 certificate from a PKCS#12 store, which should contain a private key.
certificate_holder = aw.digitalsignatures.CertificateHolder.create(file_name=MY_DIR + 'morzal.pfx', password='aw')
# Create a comment and date which will be applied with our new digital signature.
sign_options = aw.digitalsignatures.SignOptions()
sign_options.comments = 'My comment'
sign_options.sign_time = datetime.datetime.now()
# Take an unsigned document from the local file system via a file stream,
# then create a signed copy of it determined by the filename of the output file stream.
with system_helper.io.FileStream(MY_DIR + 'Document.docx', system_helper.io.FileMode.OPEN) as stream_in:
    with system_helper.io.FileStream(ARTIFACTS_DIR + 'DigitalSignatureUtil.SignDocument.docx', system_helper.io.FileMode.OPEN_OR_CREATE) as stream_out:
        aw.digitalsignatures.DigitalSignatureUtil.sign(src_stream=stream_in, dst_stream=stream_out, cert_holder=certificate_holder, sign_options=sign_options)

See Also