Существует два способа добавления SSL на FTP.
Первый метод называется неявным SSL.Это означает, что сервер прослушивает порт 990, и когда клиент подключается к нему, сначала выполняется согласование SSL / TLS, а затем установленное соединение используется как командный канал для связи (для канала данных SSL рукопожатие также выполняется ваналогичным образом).
Второй метод - это то, что вы пытаетесь использовать.Это называется явным SSL.Клиент подключается к порту 21, отправляет AUTH TLS и запускает согласование SSL для существующего подключения.Канал данных может быть защищен или не защищен в зависимости от того, как вы этого хотите (вы указываете это с помощью команды PROT).
Вы смешали методы.Я предлагаю вам прочитать подробное объяснение в Википедии , прежде чем идти дальше.Затем прочитайте RFC для явного TLS .
Обновление: вам также понадобится SSLClientSocket, а не SSLServerSocket.