Я разрабатываю обертку Bitbucket API в JavaScript.Я пытаюсь написать тесты для метода, который добавляет ключ SSH.Моя наивная попытка создать правдоподобный ключ SSH не увенчалась успехом.Вот как я сгенерировал фиктивный ключ:
- начинаем с "ssh-rsa"
- и добавляем в кодировке Base64 представление из 279 символов случайных символов
- append ""
- добавление 16-символьной строки случайных символов
- append "@"
- добавление 16-символьной строки случайных символов
- append ".com "
Bitbucket возвращает 400 неверных запросов, когда я POST генерирует ключ SSH , сгенерированный таким образом.К счастью, у меня есть доступ к исходному коду Битбакета, так что я смог покопаться немного глубже.Bitbucket проверяет ключи SSH, пропуская их через ssh-keygen
.
Я не понимаю, как генерируются ключи SSH, поэтому я могу задать глупый вопрос.Можно ли сгенерировать достаточно SSH-ключ, чтобы обмануть ssh-keygen
?Вот вывод:
$ ssh-keygen -l -f ~/Desktop/dummy_rsa.pub
buffer_get_string_ret: bad string length 1903654498
key_from_blob: can't read key type
key_read: key_from_blob cXd2YnRzZXpha3Rld2V4YmdieWdoeWl2aXpla3hkaHBodnlteHl2ZHl0bnloYmRyYWZrdnVxaWR3cHBydnFmZWFkaHp0aGRwYml6ZXVxY3ZlZ3NiZ29lanl0cG9vZmlnZ2dyZmJ3aWxsdXJhb2puYWRjY3F0YW5rcGV3Z3dkc3lxd2tkb3d6emFzbXpubXJ1eGN2bm53a3l6bmRjenV1dnplbnFtZ3Z5bm96ZGZhandwcG9mcHVoaWFkZ25ud3VkdnB0enV6Zm51bWVxanhzanlwa2ZodGxpd2xld2pnY3dhbmJ6aXVyamp6c29rbm54dHp2enJmeWhnY2ZrcWlqemFscGNnbWJsY3lpcmRtYXFkbHB6c3l0 duvrnzsladfrmccr@xqrbenpfryhoklgw.com
failed
/Users/dc/Desktop/dummy_rsa.pub is not a public key file.
Чтобы было ясно, мне не нужно генерировать «действительный» ключ SSH, мне просто нужно иметь возможность тестировать различные конечные точки API.Кроме того, поскольку тесты выполняются в браузере, я не могу выложить ключ для генерации ключа.