{"id":3789,"date":"2025-12-18T22:40:23","date_gmt":"2025-12-18T22:40:23","guid":{"rendered":"https:\/\/www.betmok.com\/blog\/?p=3789"},"modified":"2025-12-18T22:50:10","modified_gmt":"2025-12-18T22:50:10","slug":"javascript-firma-digital-signatures","status":"publish","type":"post","link":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/","title":{"rendered":"Javascript firma: Digital Signatures"},"content":{"rendered":"<p>Imagine you&#8217;re sending a secret message. You want to make sure it wasn&#8217;t changed by anyone on the way. How do you do that on the web? That&#8217;s where digital signatures come in! And guess what? You can do it using simple JavaScript.<\/p>\n<h3>TL;DR (Too long, didn\u2019t read)<\/h3>\n<p>Digital signatures are like wax seals on digital messages. They prove a message came from the sender and hasn\u2019t been changed. In JavaScript, you can use libraries like Web Crypto API to create and verify these signatures. It\u2019s a handy way to build trust into your apps!<\/p>\n<hr>\n<h2>What is a Digital Signature?<\/h2>\n<p>A digital signature is like a handwritten signature\u2014but for digital files and messages. It helps prove two things:<\/p>\n<ul>\n<li><strong>Authenticity<\/strong> \u2013 You know <em>who<\/em> sent it.<\/li>\n<li><strong>Integrity<\/strong> \u2013 You know it wasn\u2019t changed.<\/li>\n<\/ul>\n<p>Let\u2019s say Alice sends a signed message to Bob. Bob can check the signature and be sure it really came from Alice. And that no hacker edited the message. Pretty cool, right?<\/p>\n<h2>How Does It Work?<\/h2>\n<p>Digital signatures use some fancy math involving public-key cryptography. But don\u2019t worry, we\u2019ll keep it light!<\/p>\n<ol>\n<li>Alice has two keys: a <strong>private key<\/strong> and a <strong>public key<\/strong>.<\/li>\n<li>She writes a message and signs it using her private key.<\/li>\n<li>She sends the message and her signature to Bob.<\/li>\n<li>Bob verifies the signature using Alice\u2019s public key.<\/li>\n<\/ol>\n<p>If everything checks out, Bob knows the message is real and untouched.<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"1620\" src=\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-keyboard-on-a-table-digital-signature-cryptography-data-verification.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-keyboard-on-a-table-digital-signature-cryptography-data-verification.jpg 1080w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-keyboard-on-a-table-digital-signature-cryptography-data-verification-200x300.jpg 200w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-keyboard-on-a-table-digital-signature-cryptography-data-verification-683x1024.jpg 683w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-keyboard-on-a-table-digital-signature-cryptography-data-verification-768x1152.jpg 768w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-keyboard-on-a-table-digital-signature-cryptography-data-verification-1024x1536.jpg 1024w\" sizes=\"auto, (max-width: 1080px) 100vw, 1080px\" \/>\n<h2>Can JavaScript Do This?<\/h2>\n<p>Yes! The modern web gives us a tool called the <strong>Web Crypto API<\/strong>. This is a set of methods built into the browser for things like encryption, hashing, and signing.<\/p>\n<p>It\u2019s all done without needing any extra libraries or plugins. Just pure, browser-powered JavaScript.<\/p>\n<h2>Your First Digital Signature in JavaScript<\/h2>\n<p>Let\u2019s walk through a simple example. Don\u2019t worry, we\u2019ll go step-by-step.<\/p>\n<h3>1. Generate a key pair<\/h3>\n<p>We need a public-private key pair for signing and verifying.<\/p>\n<pre><code>\nconst keyPair = await window.crypto.subtle.generateKey(\n  {\n    name: \"RSASSA-PKCS1-v1_5\",\n    modulusLength: 2048,\n    publicExponent: new Uint8Array([1, 0, 1]),\n    hash: \"SHA-256\"\n  },\n  true,\n  [\"sign\", \"verify\"]\n);\n<\/code><\/pre>\n<p>This gives us two keys we can use. One for signing, and one for verifying.<\/p>\n<h3>2. Sign a message<\/h3>\n<p>We\u2019ll create a simple message and sign it.<\/p>\n<pre><code>\nconst message = new TextEncoder().encode(\"Hello, world! I am Alice.\");\nconst signature = await window.crypto.subtle.sign(\n  \"RSASSA-PKCS1-v1_5\",\n  keyPair.privateKey,\n  message\n);\n<\/code><\/pre>\n<p>Now we have a signed message. That\u2019s like a secret stamp!<\/p>\n<h3>3. Verify the message<\/h3>\n<p>Now let&#8217;s verify it using the public key.<\/p>\n<pre><code>\nconst isValid = await window.crypto.subtle.verify(\n  \"RSASSA-PKCS1-v1_5\",\n  keyPair.publicKey,\n  signature,\n  message\n);\n\nconsole.log(isValid);  \/\/ true if the signature is legit\n<\/code><\/pre>\n<p>If <code>isValid<\/code> is true, you know the message and signature match.<\/p>\n<h2>Why is This Useful?<\/h2>\n<p>You can use digital signatures in many cool ways:<\/p>\n<ul>\n<li><strong>Secure messages between people<\/strong><\/li>\n<li><strong>Stop hackers from faking users<\/strong><\/li>\n<li><strong>Make sure files weren\u2019t modified<\/strong><\/li>\n<li><strong>Prove ownership in content (like NFTs)<\/strong><\/li>\n<\/ul>\n<p>They\u2019re like crystal-clear evidence on the web.<\/p>\n<h2>Common Terms You\u2019ll Hear<\/h2>\n<p>Let\u2019s break down some common words so you feel like a pro.<\/p>\n<ul>\n<li><strong>Signing<\/strong> \u2013 Creating a signature with a private key.<\/li>\n<li><strong>Verification<\/strong> \u2013 Checking a signature with a public key.<\/li>\n<li><strong>Hash<\/strong> \u2013 A summary of data, like a fingerprint.<\/li>\n<li><strong>Public-key cryptography<\/strong> \u2013 Math that uses key pairs.<\/li>\n<\/ul>\n<h2>Is It Safe?<\/h2>\n<p>If done right, yes! These digital signatures are based on strong encryption. Most are powered by algorithms like RSA and ECDSA. They\u2019ve been tested for years.<\/p>\n<p>Just make sure to store your private key safely and never share it!<\/p>\n<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"737\" src=\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/05\/a-red-security-sign-and-a-blue-security-sign-vpn-encryption-cyber-safety-internet-security.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/05\/a-red-security-sign-and-a-blue-security-sign-vpn-encryption-cyber-safety-internet-security.jpg 1080w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/05\/a-red-security-sign-and-a-blue-security-sign-vpn-encryption-cyber-safety-internet-security-300x205.jpg 300w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/05\/a-red-security-sign-and-a-blue-security-sign-vpn-encryption-cyber-safety-internet-security-1024x699.jpg 1024w, https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/05\/a-red-security-sign-and-a-blue-security-sign-vpn-encryption-cyber-safety-internet-security-768x524.jpg 768w\" sizes=\"auto, (max-width: 1080px) 100vw, 1080px\" \/>\n<h2>Some JavaScript Libraries That Can Help<\/h2>\n<p>While Web Crypto API is great, some developers prefer libraries. You might try:<\/p>\n<ul>\n<li><strong>node-forge<\/strong> \u2013 A toolkit with crypto functions.<\/li>\n<li><strong>jsrsasign<\/strong> \u2013 Made for handling keys and signatures.<\/li>\n<li><strong>tweetnacl<\/strong> \u2013 A minimal, secure crypto library.<\/li>\n<\/ul>\n<p>These can help if you\u2019re working in Node.js or want more features.<\/p>\n<h2>Things to Watch Out For<\/h2>\n<p>Okay, a little word of caution!<\/p>\n<ul>\n<li>Don\u2019t generate weak keys.<\/li>\n<li>Don\u2019t share your private key. Ever.<\/li>\n<li>Use HTTPS to prevent man-in-the-middle attacks.<\/li>\n<li>Store your public keys safely too\u2014if they\u2019re changed, verification fails.<\/li>\n<\/ul>\n<p>Use best practices and your digital signature system will stay rock solid.<\/p>\n<h2>Imagine This in Real Life!<\/h2>\n<p>Let\u2019s say you&#8217;re building a safe chat app. Each user signs every message. The messages fly across the web. On the other end, the app verifies each message before it shows it.<\/p>\n<p>If someone tries to send a fake message as another user, it will fail. That\u2019s digital signatures for the win!<\/p>\n<p>Or: you&#8217;re sending a contract. You digitally sign it with your private key. The receiver checks it using your public key and knows it&#8217;s really you. No faking allowed!<\/p>\n<h2>Final Thoughts<\/h2>\n<p>JavaScript makes it easy to use digital signatures with just a few lines of code. No magic\u2014just modern browser tools and smart crypto math.<\/p>\n<p>By learning this, you&#8217;re adding an important tool to your developer toolbox. Whether you&#8217;re building an app, a website, or a full platform\u2014you can make it more trustworthy with signatures.<\/p>\n<p>So go ahead\u2014add digital wax seals to your code! \ud83d\udd75\ufe0f\u200d\u2642\ufe0f\u2699\ufe0f<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":52,"featured_media":3791,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[465],"tags":[],"class_list":["post-3789","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","infinite-scroll-item"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.8.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Javascript firma: Digital Signatures - Betmok Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Javascript firma: Digital Signatures - Betmok Blog\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\" \/>\n<meta property=\"og:site_name\" content=\"Betmok Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-18T22:40:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-18T22:50:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jake Colins\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jake Colins\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\"},\"author\":{\"name\":\"Jake Colins\",\"@id\":\"https:\/\/www.betmok.com\/blog\/#\/schema\/person\/75c79688d4fc04146184d75325f5b06b\"},\"headline\":\"Javascript firma: Digital Signatures\",\"datePublished\":\"2025-12-18T22:40:23+00:00\",\"dateModified\":\"2025-12-18T22:50:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\"},\"wordCount\":800,\"publisher\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\",\"url\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\",\"name\":\"Javascript firma: Digital Signatures - Betmok Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg\",\"datePublished\":\"2025-12-18T22:40:23+00:00\",\"dateModified\":\"2025-12-18T22:50:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage\",\"url\":\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg\",\"contentUrl\":\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg\",\"width\":1080,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.betmok.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Javascript firma: Digital Signatures\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.betmok.com\/blog\/#website\",\"url\":\"https:\/\/www.betmok.com\/blog\/\",\"name\":\"Betmok Blog\",\"description\":\"All about football\",\"publisher\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.betmok.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.betmok.com\/blog\/#organization\",\"name\":\"Betmok Blog\",\"url\":\"https:\/\/www.betmok.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.betmok.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2022\/05\/favicon-96x96-1.png\",\"contentUrl\":\"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2022\/05\/favicon-96x96-1.png\",\"width\":96,\"height\":96,\"caption\":\"Betmok Blog\"},\"image\":{\"@id\":\"https:\/\/www.betmok.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.betmok.com\/blog\/#\/schema\/person\/75c79688d4fc04146184d75325f5b06b\",\"name\":\"Jake Colins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.betmok.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d7f1881fe3b69808c760f302d4f15c1f83e1e13ef0c73e72728f605bff57d2af?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d7f1881fe3b69808c760f302d4f15c1f83e1e13ef0c73e72728f605bff57d2af?s=96&d=mm&r=g\",\"caption\":\"Jake Colins\"},\"description\":\"I'm Jake Collins, a tech journalist covering the latest in AI and robotics. My goal is to demystify advanced technologies for a broader audience.\",\"url\":\"https:\/\/www.betmok.com\/blog\/author\/jakec\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Javascript firma: Digital Signatures - Betmok Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/","og_locale":"en_US","og_type":"article","og_title":"Javascript firma: Digital Signatures - Betmok Blog","og_url":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/","og_site_name":"Betmok Blog","article_published_time":"2025-12-18T22:40:23+00:00","article_modified_time":"2025-12-18T22:50:10+00:00","og_image":[{"width":1080,"height":1440,"url":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg","type":"image\/jpeg"}],"author":"Jake Colins","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jake Colins","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#article","isPartOf":{"@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/"},"author":{"name":"Jake Colins","@id":"https:\/\/www.betmok.com\/blog\/#\/schema\/person\/75c79688d4fc04146184d75325f5b06b"},"headline":"Javascript firma: Digital Signatures","datePublished":"2025-12-18T22:40:23+00:00","dateModified":"2025-12-18T22:50:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/"},"wordCount":800,"publisher":{"@id":"https:\/\/www.betmok.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage"},"thumbnailUrl":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg","articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/","url":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/","name":"Javascript firma: Digital Signatures - Betmok Blog","isPartOf":{"@id":"https:\/\/www.betmok.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage"},"image":{"@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage"},"thumbnailUrl":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg","datePublished":"2025-12-18T22:40:23+00:00","dateModified":"2025-12-18T22:50:10+00:00","breadcrumb":{"@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#primaryimage","url":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg","contentUrl":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2025\/12\/a-close-up-of-a-computer-screen-digital-signature-cryptography-data-verification.jpg","width":1080,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/www.betmok.com\/blog\/2025\/12\/18\/javascript-firma-digital-signatures\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.betmok.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Javascript firma: Digital Signatures"}]},{"@type":"WebSite","@id":"https:\/\/www.betmok.com\/blog\/#website","url":"https:\/\/www.betmok.com\/blog\/","name":"Betmok Blog","description":"All about football","publisher":{"@id":"https:\/\/www.betmok.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.betmok.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.betmok.com\/blog\/#organization","name":"Betmok Blog","url":"https:\/\/www.betmok.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.betmok.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2022\/05\/favicon-96x96-1.png","contentUrl":"https:\/\/www.betmok.com\/blog\/wp-content\/uploads\/2022\/05\/favicon-96x96-1.png","width":96,"height":96,"caption":"Betmok Blog"},"image":{"@id":"https:\/\/www.betmok.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.betmok.com\/blog\/#\/schema\/person\/75c79688d4fc04146184d75325f5b06b","name":"Jake Colins","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.betmok.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d7f1881fe3b69808c760f302d4f15c1f83e1e13ef0c73e72728f605bff57d2af?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d7f1881fe3b69808c760f302d4f15c1f83e1e13ef0c73e72728f605bff57d2af?s=96&d=mm&r=g","caption":"Jake Colins"},"description":"I'm Jake Collins, a tech journalist covering the latest in AI and robotics. My goal is to demystify advanced technologies for a broader audience.","url":"https:\/\/www.betmok.com\/blog\/author\/jakec\/"}]}},"_links":{"self":[{"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/posts\/3789","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/comments?post=3789"}],"version-history":[{"count":1,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/posts\/3789\/revisions"}],"predecessor-version":[{"id":3808,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/posts\/3789\/revisions\/3808"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/media\/3791"}],"wp:attachment":[{"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/media?parent=3789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/categories?post=3789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.betmok.com\/blog\/wp-json\/wp\/v2\/tags?post=3789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}