inline void dsa_key::print(file _file, int offset) const { error::throw_error_if_not(DSA_print_fp(_file.raw(), ptr().get(), offset) != 0); }
inline void dsa_key::print_parameters(file _file) const { error::throw_error_if_not(DSAparams_print_fp(_file.raw(), ptr().get()) != 0); }
inline void dsa_key::write_parameters(file _file) const { error::throw_error_if_not(PEM_write_DSAparams(_file.raw(), ptr().get()) != 0); }
inline void dsa_key::write_certificate_public_key(file _file) const { error::throw_error_if_not(PEM_write_DSA_PUBKEY(_file.raw(), ptr().get()) != 0); }
inline void dsa_key::write_private_key(file _file, cipher::cipher_algorithm algorithm, const void* passphrase, size_t passphrase_len) const { error::throw_error_if_not(PEM_write_DSAPrivateKey(_file.raw(), ptr().get(), algorithm.raw(), static_cast<unsigned char*>(const_cast<void*>(passphrase)), static_cast<int>(passphrase_len), NULL, NULL) != 0); }
inline void dsa_key::write_private_key(file _file, cipher::cipher_algorithm algorithm, pem_passphrase_callback_type callback, void* callback_arg) const { error::throw_error_if_not(PEM_write_DSAPrivateKey(_file.raw(), ptr().get(), algorithm.raw(), NULL, 0, callback, callback_arg) != 0); }
inline dsa_key dsa_key::from_parameters(file _file, pem_passphrase_callback_type callback, void* callback_arg) { return take_ownership(PEM_read_DSAparams(_file.raw(), NULL, callback, callback_arg)); }
inline dsa_key dsa_key::from_certificate_public_key(file _file, pem_passphrase_callback_type callback, void* callback_arg) { return take_ownership(PEM_read_DSA_PUBKEY(_file.raw(), NULL, callback, callback_arg)); }
inline void certificate_request::write_certificate_request(file _file) const { error::throw_error_if_not(PEM_write_X509_REQ(_file.raw(), ptr().get()) != 0); }
inline dsa_key dsa_key::from_private_key(file _file, pem_passphrase_callback_type callback, void* callback_arg) { return take_ownership(PEM_read_DSAPrivateKey(_file.raw(), NULL, callback, callback_arg)); }
inline void certificate_request::write_der(file _file) const { error::throw_error_if_not(i2d_X509_REQ_fp(_file.raw(), ptr().get()) != 0); }
inline certificate_request certificate_request::from_certificate_request(file _file, pem_passphrase_callback_type callback, void* callback_arg) { return take_ownership(PEM_read_X509_REQ(_file.raw(), NULL, callback, callback_arg)); }
inline certificate_request certificate_request::from_der(file _file) { return take_ownership(d2i_X509_REQ_fp(_file.raw(), NULL)); }
inline void rsa_key::write_public_key(file _file) const { error::throw_error_if_not(PEM_write_RSAPublicKey(_file.raw(), ptr().get()) != 0); }
inline rsa_key rsa_key::from_public_key(file _file, pem_passphrase_callback_type callback, void* callback_arg) { return take_ownership(PEM_read_RSAPublicKey(_file.raw(), NULL, callback, callback_arg)); }