Для завершения, EBS базировался экземпляр, необходимо и завершить экземпляр и также удалить устройство хранения данных EBS, хотя это сделает экземпляр не восстанавливаемым, конечно.
Каждый раз, когда новый экземпляр EBS является икрой, копия начального моментального снимка является икрой в объем EBS, который будет использоваться, как поддерживают тот экземпляр.
Я думаю, что это - в значительной степени все, что необходимо, я никогда не должен был удалять тот сам так сообщает мне, как он идет!
It can be achieved by various openssl
calls.
First, extract the certificate:
$ openssl pkcs12 -clcerts -nokeys -in "YourPKCSFile" \
-out certificate.crt -password pass:PASSWORD -passin pass:PASSWORD
Second, the CA key:
$ openssl pkcs12 -cacerts -nokeys -in "YourPKCSFile" \
-out ca-cert.ca -password pass:PASSWORD -passin pass:PASSWORD
Now, the private key:
$ openssl pkcs12 -nocerts -in "YourPKCSFile" \
-out private.key -password pass:PASSWORD -passin pass:PASSWORD \
-passout pass:TemporaryPassword
Now remove the passphrase:
$ openssl rsa -in private.key -out "NewKeyFile.key" \
-passin pass:TemporaryPassword
Put things together for the new PKCS-File:
$ cat "NewKeyFile.key" \
"certificate.crt" \
"ca-cert.ca" > PEM.pem
And create the new file:
$ openssl pkcs12 -export -nodes -CAfile ca-cert.ca \
-in PEM.pem -out "NewPKCSWithoutPassphraseFile"
Now you have a new PKCS12 key file without passphrase on the private key part.
Теперь закрытый ключ:
openssl pkcs12 -nocerts -in "YourPKCSFile" -out private.key -password pass:PASSWORD -passin pass:PASSWORD -passout pass:TemporaryPassword
Удалите кодовую фразу:
openssl rsa -in private.key -out "NewKeyFile.key" -passin pass:TemporaryPassword
Два шага можно заменить на
openssl pkcs12 -nocerts -in "YourPKCSFile" -out private.key -nodes
Самое простое решение Я нашел -
openssl pkcs12 -in protected.p12 -nodes -out temp.pem
# -> Enter password
openssl pkcs12 -export -in temp.pem -out unprotected.p12
# -> Just press [return] twice for no password
rm temp.pem
Это легко сделать за один шаг без временного файла:
openssl pkcs12 -в "PKCSFile" -узлы | openssl pkcs12 -экспорт -из "PKCSFile-".Nopass"
Ответьте на запрос "Import Password" с паролем.
Отвечайте на подсказки Export Passowrd с помощью
Готово.
Обратите внимание, что это работает с любым количеством промежуточных сертификатов, которые могут быть в комплекте...
Я настоятельно рекомендую позаботиться о результирующем файле; было бы неплохо сначала установить umask на 377 (не-уникс: это означает, что только владелец может читать созданный файл). Я полагаю, что это 2 шага, если ваша стандартная umask разрешена...
.У меня ничего не работало. В конце концов я вернулся к коду dotNet, который сработал в первый раз.
class Script
{
static public void Main(string[] args)
{
if (args.Length < 3 || args.Contains("/?"))
{
MainHelp(args);
return;
}
string _infile = args[0],
_outfile = args[2];
string _password = args[1], _outpassword = (args.Length > 3) ? args[3] : "";
Console.WriteLine(String.Format("{0} -> {1} with ({2} -> {3})", _infile, _outfile, _password, _outpassword));
System.Security.Cryptography.X509Certificates.X509Certificate2 cert = null;
Console.WriteLine(String.Format("Load {0} with {2}", _infile, _outfile, _password, _outpassword));
cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(_infile, _password, X509KeyStorageFlags.Exportable);
Console.WriteLine(String.Format("Export {1} with {3}", _infile, _outfile, _password, _outpassword));
System.IO.File.WriteAllBytes(_outfile, cert.Export(System.Security.Cryptography.X509Certificates.X509ContentType.Pfx, _outpassword));
Console.WriteLine(String.Format("Export complete", _infile, _outfile, _password, _outpassword));
}
static public void MainHelp(string[] args)
{
Console.WriteLine("Usage pfxremovepwd [inpfx] [inpwd] [outpfx] [optional outpwd]");
return;
}
}