Witam,
potrzebuje waszej pomocy a chodzi mi o coś takiego.
Mam skrypt do tworzenia csr do certyfikatów i muszę zapisać go w pliku i wysłać przez api systemu HRD
Tak wygląda skrypt
"countryName" => $_POST['country'],
"stateOrProvinceName" => $_POST['wojewodztwo_region'],
"localityName" => $_POST['miasto'],
"organizationName" => $_POST['nazwa_firmy'],
"organizationalUnitName" => $_POST['nazwa_firmy'],
"commonName" => $_POST['domena'],
"emailAddress" => $_POST['email']
);
// Generate a new private (and public) key pair
$privkey = openssl_pkey_new
(array( "private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
// Generate a certificate signing request
$csr = openssl_csr_new
($dn, $privkey, array('digest_alg' => 'sha256'));
// Generate a self-signed cert, valid for 365 days
$x509 = openssl_csr_sign
($csr, null, $privkey, $days=30
, array('digest_alg' => 'sha256'));
// Save your private key, CSR and self-signed cert for later use
openssl_csr_export($csr, $csrout);
openssl_x509_export($x509, $certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword");
$csr_privkey=$csrout.$certout.$pkeyout;
// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
}
Tak jak przeczytałem ten odpowiada za utworzenie pliku zawartości na serwerze ale chce go wysłać przy tworzeniu.
$plik = fopen('index.html','w');
$zawartosc ="" ;
$zawartosc .="" ;
A tak wygląda cały mój skrypt jak zaczołem robić
"countryName" => $_POST['country'],
"stateOrProvinceName" => $_POST['wojewodztwo_region'],
"localityName" => $_POST['miasto'],
"organizationName" => $_POST['nazwa_firmy'],
"organizationalUnitName" => $_POST['nazwa_firmy'],
"commonName" => $_POST['domena'],
"emailAddress" => $_POST['email']
);
// Generate a new private (and public) key pair
$privkey = openssl_pkey_new
(array( "private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
// Generate a certificate signing request
$csr = openssl_csr_new
($dn, $privkey, array('digest_alg' => 'sha256'));
// Generate a self-signed cert, valid for 365 days
$x509 = openssl_csr_sign
($csr, null, $privkey, $days=30
, array('digest_alg' => 'sha256'));
// Save your private key, CSR and self-signed cert for later use
openssl_csr_export($csr, $csrout);
openssl_x509_export($x509, $certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword");
$csr_privkey=..;
$plik = fopen('csr.cer','w');
// przypisanie zawartości do zmiennej
$zawartosc = $csrout;
$zawartosc .= $certout;
$zawartosc .= $pkeyout;
// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
}
Ale nie wiem jak mam zrobić aby wysłać plik w locie.
Ten post edytował pawel06281990 8.03.2019, 00:14:17