A method and apparatus of printing a document in a secure manner, includes
receiving, by a printer, print data that has been encrypted using a
printer public key. The printer-public-key-encrypted print data is
decrypted by the printer using a printer secret key, to obtain decrypted
print data as well as user identification information provided with the
print data. Print pre-processing is performed by the printer on the
decrypted print data, to thereby obtain pre-processed print data. The
pre-processed print data is encrypted by the printer using a user secret
key to obtain user-public-key-encrypted print data, and the
user-public-key-encrypted print data is stored. The
user-public-key-encrypted print data is decrypted and printed by the
printer upon receipt of a user secret key, prior to printing the print
data.