Disclosed is a system, method, and program for distributing computer
software from a first computer system. The first computer system receives
a request for software from a second computer system. In response, the
first computer system generates a message, encrypts the generated
message, and transmits the encrypted message to the second computer
system. The first computer system later receives an encrypted response
from the second computer system and processes the encrypted response to
determine whether the second computer system is authorized to access the
software. The second computer system is permitted access to the software
after determining that the second computer system is authorized to access
the software. To access the computer software with the second computer
system, the second computer system transmits a request for the software
to the first computer system. The second computer system receives an
encrypted message from the first computer system and processes the
encrypted message to generate a response message. The response message is
transmitted to the first computer system. In response, the second
computer system is permitted access to the requested software.