Как получить публичный ключ из сохранённого секретного?
Как мне на основе сохранённого закрытого ключа, создавать новые открыты?
Никак :) Открытый ключ создается в тот же момент, что и закрытый и они представляют из себя пару ключей - одному закрытому соответствует один открытый.
Не знаю как в php, а в консоли всё просто
https://stackoverflow.com/a/5246045/1016033