Path: blob/master/src/infrastructure/util/PhabricatorSSHKeyGenerator.php
12241 views
<?php12final class PhabricatorSSHKeyGenerator extends Phobject {34public static function assertCanGenerateKeypair() {5$binary = 'ssh-keygen';6if (!Filesystem::resolveBinary($binary)) {7throw new Exception(8pht(9'Can not generate keys: unable to find "%s" in PATH!',10$binary));11}12}1314public static function generateKeypair() {15self::assertCanGenerateKeypair();1617$tempfile = new TempFile();18$keyfile = dirname($tempfile).DIRECTORY_SEPARATOR.'keytext';1920execx(21'ssh-keygen -t rsa -N %s -f %s',22'',23$keyfile);2425$public_key = Filesystem::readFile($keyfile.'.pub');26$private_key = Filesystem::readFile($keyfile);2728return array($public_key, $private_key);29}3031}323334