В Windows, если не использовать сторонние тулзы, все, что касается сертификатов невероятно запутано.
- Требуется ли AD для центра сертификации - не знаю, идея его разворачивать без AD никогда мне в голову не приходила. AD используется и очень широко.
- Весь выпуск сертификатов основан на шаблонах. Если сертификат должен иметь какие-то нетипичные OID - лучше сначала посмотреть - есть ли они в нужных шаблонах и есть ли такие шаблоны вообще, если нет - придется создавать.
- Отдельной программы создания CSR нет. Ну, в смысле, виндовой, графической со свистелками и пищалками, есть только текстовая программа, использующая текстовый ini-файл, называется, если не ошибаюсь certreq.exe Винда считает, что CSR должен генерится "на лету", запрос сразу попадать в центр сертификатции и сертификат выдаваться незаметно - так чтобы у юзера доступа к ключу сертификата не было :) Что разумеется, Вам не подойдет - сертификат же на яббл нужно будет ставить.
- Чтобы использовать сертификаты хоть где-нибудь, кроме как на компе, где генерился CSR, придется его (CSR) генерить сторонней тулзой и передавать в виде base64 в центр сертификации через веб-морду центра - сам так делаю, хоть это криво, неудобно и довольно нелепо. Но зато процесс формирования .p12 полностью подконтролен.
Запрос с устройства необязателен. Можно и на сервере генерить - если будет чем. Есть ли что-то такое в powershell - никогда не задумывался, может быть и есть