<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=openssl_pkcs7_sign%28%29</id>
	<title>openssl pkcs7 sign() - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=openssl_pkcs7_sign%28%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=openssl_pkcs7_sign()&amp;action=history"/>
	<updated>2026-04-29T01:24:36Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.linux.se/index.php?title=openssl_pkcs7_sign()&amp;diff=5736&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;== openssl_sign == &#039;&#039;&#039;(PHP 4 &gt;= 4.0.4, PHP 5, PHP 7, PHP 8)&#039;&#039;&#039;  === openssl_sign — Genererar en signatur ===  ==== Beskrivning ==== &lt;pre&gt; openssl_sign(     string $data,     string &amp;$signature,     OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key,     string|int $algorithm = OPENSSL_ALGO_SHA1 ): bool &lt;/pre&gt; Funktionen &lt;code&gt;openssl_sign()&lt;/code&gt; skapar en kryptografisk digital signatur för den angivna datan genom att använda privatnyckeln som är kop...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=openssl_pkcs7_sign()&amp;diff=5736&amp;oldid=prev"/>
		<updated>2024-11-01T08:02:56Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;== openssl_sign == &amp;#039;&amp;#039;&amp;#039;(PHP 4 &amp;gt;= 4.0.4, PHP 5, PHP 7, PHP 8)&amp;#039;&amp;#039;&amp;#039;  === openssl_sign — Genererar en signatur ===  ==== Beskrivning ==== &amp;lt;pre&amp;gt; openssl_sign(     string $data,     string &amp;amp;$signature,     OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key,     string|int $algorithm = OPENSSL_ALGO_SHA1 ): bool &amp;lt;/pre&amp;gt; Funktionen &amp;lt;code&amp;gt;openssl_sign()&amp;lt;/code&amp;gt; skapar en kryptografisk digital signatur för den angivna datan genom att använda privatnyckeln som är kop...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== openssl_sign ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(PHP 4 &amp;gt;= 4.0.4, PHP 5, PHP 7, PHP 8)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== openssl_sign — Genererar en signatur ===&lt;br /&gt;
&lt;br /&gt;
==== Beskrivning ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openssl_sign(&lt;br /&gt;
    string $data,&lt;br /&gt;
    string &amp;amp;$signature,&lt;br /&gt;
    OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key,&lt;br /&gt;
    string|int $algorithm = OPENSSL_ALGO_SHA1&lt;br /&gt;
): bool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Funktionen &amp;lt;code&amp;gt;openssl_sign()&amp;lt;/code&amp;gt; skapar en kryptografisk digital signatur för den angivna datan genom att använda privatnyckeln som är kopplad till &amp;lt;code&amp;gt;private_key&amp;lt;/code&amp;gt;. Observera att själva datan inte krypteras.&lt;br /&gt;
&lt;br /&gt;
==== Parametrar ====&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;#039; — Strängen med data du vill signera.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;signature&amp;#039;&amp;#039;&amp;#039; — Om anropet lyckades returneras signaturen här.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;private_key&amp;#039;&amp;#039;&amp;#039; — Privat nyckel. Kan vara en OpenSSLAsymmetricKey från &amp;lt;code&amp;gt;openssl_get_privatekey()&amp;lt;/code&amp;gt; eller en PEM-formatterad nyckelsträng.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;algorithm&amp;#039;&amp;#039;&amp;#039; — Algoritm för signaturen. Kan vara ett heltal som motsvarar en av signaturalgoritmerna, eller en sträng som returneras av &amp;lt;code&amp;gt;openssl_get_md_methods()&amp;lt;/code&amp;gt;, exempelvis &amp;lt;code&amp;gt;&amp;quot;sha256WithRSAEncryption&amp;quot;&amp;lt;/code&amp;gt; eller &amp;lt;code&amp;gt;&amp;quot;sha384&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Returnerar ====&lt;br /&gt;
Returnerar &amp;lt;pre&amp;gt;true&amp;lt;/pre&amp;gt; vid framgång eller &amp;lt;pre&amp;gt;false&amp;lt;/pre&amp;gt; vid fel.&lt;br /&gt;
&lt;br /&gt;
==== Changelog ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Version !! Beskrivning&lt;br /&gt;
|-&lt;br /&gt;
| 8.0.0 || &amp;lt;code&amp;gt;private_key&amp;lt;/code&amp;gt; accepterar nu en instans av &amp;lt;code&amp;gt;OpenSSLAsymmetricKey&amp;lt;/code&amp;gt; eller &amp;lt;code&amp;gt;OpenSSLCertificate&amp;lt;/code&amp;gt;; tidigare accepterades en resurs av typen &amp;lt;code&amp;gt;OpenSSL key&amp;lt;/code&amp;gt; eller &amp;lt;code&amp;gt;OpenSSL X.509&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Exempel ====&lt;br /&gt;
Exempel #1 openssl_sign() exempel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// $data antas innehålla datan som ska signeras&lt;br /&gt;
&lt;br /&gt;
// hämta privat nyckel från fil och förbered den&lt;br /&gt;
$pkeyid = openssl_pkey_get_private(&amp;quot;file://src/openssl-0.9.6/demos/sign/key.pem&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// skapa signatur&lt;br /&gt;
openssl_sign($data, $signature, $pkeyid);&lt;br /&gt;
&lt;br /&gt;
// frigör nyckeln från minnet&lt;br /&gt;
openssl_free_key($pkeyid);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exempel #2 openssl_sign() exempel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// data du vill signera&lt;br /&gt;
$data = &amp;#039;my data&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// skapa ett nytt privat och publikt nyckelpar&lt;br /&gt;
$new_key_pair = openssl_pkey_new(array(&lt;br /&gt;
    &amp;quot;private_key_bits&amp;quot; =&amp;gt; 2048,&lt;br /&gt;
    &amp;quot;private_key_type&amp;quot; =&amp;gt; OPENSSL_KEYTYPE_RSA,&lt;br /&gt;
));&lt;br /&gt;
openssl_pkey_export($new_key_pair, $private_key_pem);&lt;br /&gt;
&lt;br /&gt;
$details = openssl_pkey_get_details($new_key_pair);&lt;br /&gt;
$public_key_pem = $details[&amp;#039;key&amp;#039;];&lt;br /&gt;
&lt;br /&gt;
// skapa signatur&lt;br /&gt;
openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256);&lt;br /&gt;
&lt;br /&gt;
// spara för senare bruk&lt;br /&gt;
file_put_contents(&amp;#039;private_key.pem&amp;#039;, $private_key_pem);&lt;br /&gt;
file_put_contents(&amp;#039;public_key.pem&amp;#039;, $public_key_pem);&lt;br /&gt;
file_put_contents(&amp;#039;signature.dat&amp;#039;, $signature);&lt;br /&gt;
&lt;br /&gt;
// verifiera signaturen&lt;br /&gt;
$r = openssl_verify($data, $signature, $public_key_pem, &amp;quot;sha256WithRSAEncryption&amp;quot;);&lt;br /&gt;
var_dump($r);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Se även ====&lt;br /&gt;
* [[openssl_verify()]] — Verifierar signatur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== openssl_pkcs7_read ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(PHP 7 &amp;gt;= 7.2.0, PHP 8)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== openssl_pkcs7_read — Exporterar PKCS7-filen till en array av PEM-certifikat ===&lt;br /&gt;
&lt;br /&gt;
==== Beskrivning ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openssl_pkcs7_read(string $data, array &amp;amp;$certificates): bool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Denna funktion analyserar PKCS7-certifikatfilen (p7b-format) och returnerar en array med PEM-kodade certifikat.&lt;br /&gt;
&lt;br /&gt;
==== Parametrar ====&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;data&amp;#039;&amp;#039;&amp;#039; — Strängen med data i p7b-format som ska analyseras.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;certificates&amp;#039;&amp;#039;&amp;#039; — Array som innehåller PEM-certifikat från p7b-inmatningsdata.&lt;br /&gt;
&lt;br /&gt;
==== Returnerar ====&lt;br /&gt;
Returnerar &amp;lt;pre&amp;gt;true&amp;lt;/pre&amp;gt; vid framgång eller &amp;lt;pre&amp;gt;false&amp;lt;/pre&amp;gt; vid fel.&lt;br /&gt;
&lt;br /&gt;
==== Exempel ====&lt;br /&gt;
Exempel #1 Hämta en PEM-array från en P7B-fil&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$file = &amp;#039;certs.p7b&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$f = file_get_contents($file);&lt;br /&gt;
$p7 = array();&lt;br /&gt;
$r = openssl_pkcs7_read($f, $p7);&lt;br /&gt;
&lt;br /&gt;
if ($r === false) {&lt;br /&gt;
    printf(&amp;quot;ERROR: %s är inte en giltig p7b-fil&amp;quot;.PHP_EOL, $file);&lt;br /&gt;
        for($e = openssl_error_string(), $i = 0; $e; $e = openssl_error_string(), $i++)&lt;br /&gt;
            printf(&amp;quot;SSL l%d: %s&amp;quot;.PHP_EOL, $i, $e);&lt;br /&gt;
    exit(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
print_r($p7);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Se även ====&lt;br /&gt;
* [[openssl_csr_sign()]] — Signera en CSR med ett annat certifikat (eller sig själv) och generera ett certifikat&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
&lt;br /&gt;
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.openssl-sign.php&lt;br /&gt;
[[PHP]]&lt;br /&gt;
[[Funktioner]]&lt;br /&gt;
[[Funktionsreferens]]&lt;br /&gt;
[[OpenSSL-funktioner]]&lt;br /&gt;
&amp;lt;HR&amp;gt;&lt;br /&gt;
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på &lt;br /&gt;
https://www.linux.se/kontaka-linux-se/&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;Tack till [https://www.datorreparation.nu/ Datorreparation Stockholm] som har  sponsrat [https://www.linux.se Linux.se] med webserver.&lt;br /&gt;
&lt;br /&gt;
[[Kategori:Php]]&lt;br /&gt;
[[Kategori:Kryptografi-extensioner]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>