Technical Reference · 2026 Edition

Dlaczego Let's Encrypt nie wydaje certyfikatów BIMI (VMC/CMC)

Let's Encrypt nie może wydawać certyfikatów Verified Mark Certificate (VMC) ani Common Mark Certificate (CMC), ponieważ wydawanie certyfikatów BIMI wymaga ręcznej weryfikacji znaków towarowych, której protokół ACME nie jest w stanie zautomatyzować. Dowiedz się, dlaczego certyfikaty VMC kosztują ponad 1000 dolarów i jak przebiega proces ich wydawania.

Last updated min read

Luka w automatyzacji.

Let's Encrypt to jeden z najbardziej udanych urzędów certyfikacji w historii internetu. Wydał miliardy certyfikatów TLS, przyczynił się do upowszechnienia HTTPS w całej sieci, i zrobił to całkowicie za darmo. Dlatego gdy organizacje rozpoczynają wdrażanie BIMI i odkrywają, że certyfikaty Mark Certificate kosztują ponad 1000 dolarów rocznie, naturalne pytanie pojawia się na forach i w wątkach pomocy technicznej niemal natychmiast:

„Dlaczego Let's Encrypt po prostu nie wydaje VMC?"

Krótka odpowiedź: protokół ACME automatyzuje walidację kontroli nad domeną. Certyfikaty BIMI wymagają czegoś zasadniczo innego — ludzkiej oceny własności znaku towarowego i tożsamości marki. Tych dwóch rzeczy nie da się pogodzić przy użyciu tych samych narzędzi.

Ten artykuł wyjaśnia strukturalne przyczyny takiego stanu rzeczy, jak w rzeczywistości wygląda proces weryfikacji dla VMC i CMC, oraz dlaczego różnica w cenie między darmowym certyfikatem TLS a certyfikatem Mark Certificate kosztującym ponad 1000 dolarów nie wynika z arbitralnej polityki cenowej — odzwierciedla ona rzeczywistą pracę ręczną wykonywaną przez akredytowanych ekspertów.


Kontekst: Czym faktycznie zajmuje się Let's Encrypt

Let's Encrypt działa w oparciu o protokół ACME (Automated Certificate Management Environment, RFC 8555). Cały model opiera się na jednym pytaniu:

Czy podmiot żądający tego certyfikatu kontroluje daną nazwę domeny?

Aby odpowiedzieć na to pytanie automatycznie, Let's Encrypt wykorzystuje jeden z trzech typów wyzwań:

  1. HTTP-01 — Umieszczenie określonego tokenu pod znanym adresem URL w domenie.
  2. DNS-01 — Opublikowanie określonego rekordu TXT w strefie DNS domeny.
  3. TLS-ALPN-01 — Odpowiedź na uzgadnianie TLS na porcie 443 przy użyciu określonego certyfikatu.

Jeśli wyzwanie zakończy się sukcesem, kontrola nad domeną zostaje udowodniona. Certyfikat jest wydawany w ciągu sekund. Żaden człowiek nie przegląda wniosku. Żaden człowiek nie mógłby przeglądać wniosku — Let's Encrypt wydaje miliony certyfikatów dziennie.

Ten model działa właśnie dlatego, że kontrola nad domeną jest binarnym, weryfikowalnym maszynowo faktem. Token albo jest obecny, albo nie.


Co właściwie poświadcza certyfikat BIMI Mark Certificate

Verified Mark Certificate (VMC) lub Common Mark Certificate (CMC) nie poświadcza kontroli nad domeną. Poświadcza coś kategorycznie innego:

Że określone logo SVG jest prawomocnie powiązane z określoną organizacją i że organizacja ta ma prawo do wyświetlania tego logo w klientach poczty elektronicznej.

Aby móc sformułować takie stwierdzenie, urząd certyfikacji musi odpowiedzieć na pytania, które nie mają odpowiedzi weryfikowalnej maszynowo:

  1. Czy ta organizacja posiada lub licencjonuje znak towarowy przedstawiony w logo?
  2. Czy plik SVG jest wiernym odwzorowaniem tego zarejestrowanego znaku towarowego?
  3. Czy logo było używane w sposób ciągły i publiczny wystarczająco długo, aby kwalifikować się zgodnie z zasadami historycznego użytkowania CMC?
  4. Czy organizacja jest tym samym podmiotem prawnym, który jest wymieniony w rejestracji znaku towarowego?

Żadnego z tych pytań nie da się rozwiązać poprzez umieszczenie pliku na serwerze WWW.


Proces weryfikacji VMC: co faktycznie robią eksperci

Akredytowani weryfikatorzy znaków (AMV — Accredited Mark Verifiers) — niewielka liczba urzędów certyfikacji upoważnionych do wydawania VMC, obecnie obejmująca DigiCert i Entrust — stosują określony proces weryfikacji dla każdego wniosku. Poniższe kroki odzwierciedlają opublikowane wymagania BIMI Working Group oraz wytyczne CA/Browser Forum dotyczące certyfikatów Mark Certificate.

1. Weryfikacja rejestracji znaku towarowego

Ekspert pobiera zapis rejestracji znaku towarowego z odpowiedniego rejestru krajowego lub międzynarodowego (USPTO, EUIPO, WIPO, UPRP itp.) i potwierdza:

  • Znak jest zarejestrowany (nie tylko zgłoszony).
  • Rejestracja jest aktywna i nie wygasła, nie została anulowana ani porzucona.
  • Klasy towarów i usług są zgodne z działalnością wnioskodawcy.
  • Właściciel ujawniony w rejestrze odpowiada podmiotowi prawnemu składającemu wniosek o certyfikat.

Ten krok wymaga dostępu do wielu baz danych znaków towarowych, znajomości międzynarodowego prawa własności intelektualnej oraz oceny przypadków granicznych — na przykład, czy oczekujące odnowienie stanowi wygasłą rejestrację.

2. Przegląd zgodności logo ze znakiem towarowym

Ekspert porównuje przesłany plik SVG ze wzorem znaku towarowego w rejestrze i określa, czy są one zasadniczo tym samym znakiem. Nie jest to operacja porównywania pikseli. Wymaga ludzkiej oceny:

  • Równoważności stylistycznej między różnymi formatami plików.
  • Czy warianty kolorystyczne mieszczą się w dopuszczalnej tolerancji.
  • Czy uproszczone lub zaadaptowane wersje nadal reprezentują zarejestrowany znak.

3. Sprawdzenie zgodności technicznej SVG

Plik SVG musi być zgodny z profilem BIMI SVG Tiny P/S — ograniczonym podzbiorem SVG 1.2 Tiny. Eksperci weryfikują, czy plik:

  • Nie zawiera osadzonych obrazów rastrowych.
  • Nie używa JavaScript ani zewnętrznych odniesień.
  • Zawiera prawidłowy element </code>.</li> <li class="md-li">Renderuje się poprawnie w kwadratowym obszarze widoku.</li> </ul> <p class="md-p"> To jedyny krok, który jest częściowo automatyzowalny, i kilka urzędów certyfikacji faktycznie przeprowadza automatyczne wstępne kontrole. Jednak automatyczne kontrole nie zastępują ostatecznego zatwierdzenia przez eksperta. </p> <h3 id="4-weryfikacja-to-samo-ci-organizacji" class="md-h3">4. Weryfikacja tożsamości organizacji</h3> <p class="md-p"> Ekspert potwierdza, że wnioskodawca o certyfikat jest tym samym podmiotem prawnym, który jest wymieniony w rejestracji znaku towarowego. Zwykle obejmuje to: </p> <ul class="md-ul"> <li class="md-li">Przegląd dokumentów założycielskich lub równoważnych dokumentów rejestracji działalności.</li> <li class="md-li">Potwierdzenie, że upoważniony przedstawiciel wnioskodawcy ma prawo do podpisywania dokumentów.</li> <li class="md-li">Weryfikację krzyżową z istniejącymi danymi tożsamości, jeśli organizacja posiada wcześniejsze certyfikaty.</li> </ul> <h3 id="5-weryfikacja-historycznego-u-ytkowania-cmc-w-stosownych-przypadkach" class="md-h3">5. Weryfikacja historycznego użytkowania CMC (w stosownych przypadkach)</h3> <p class="md-p"> Common Mark Certificate — wprowadzone w celu obsługi logo, które są powszechnie rozpoznawane, ale nie są formalnie zarejestrowane jako znaki towarowe — wymagają innego standardu dowodowego. Zamiast numeru rejestracji wnioskodawca musi wykazać <strong>ciągłe, publiczne użytkowanie</strong> logo przez wymagany okres. </p> <p class="md-p"> W tym miejscu istotne stają się <strong>Wayback Machine</strong> (Internet Archive) i podobne historyczne zapisy internetowe. Eksperci: </p> <ol class="md-ol"> <li class="md-li">Przeszukują Internet Archive w poszukiwaniu datowanych zrzutów obecności organizacji w sieci, pokazujących logo.</li> <li class="md-li">Weryfikują, czy logo widoczne w historycznych zrzutach jest <strong>zasadniczo takie samo</strong> jak przesłany plik SVG.</li> <li class="md-li">Potwierdzają, że zrzuty obejmują wymagany okres bez znaczących przerw.</li> <li class="md-li">Oceniają, czy historyczne użytkowanie było rzeczywiście publiczne, a nie wewnętrzne lub incydentalne.</li> </ol> <p class="md-p"> Proces ten jest z natury ręczny. Wayback Machine nie udostępnia API, które zwraca ustrukturyzowany „wskaźnik ciągłości logo". Ekspert musi pobrać zrzuty, wizualnie je sprawdzić i dokonać oceny. Przypadki graniczne — przebudowa strony w trakcie okresu, odświeżenie logo, zmiana domeny — wymagają korespondencji z wnioskodawcą i dodatkowej dokumentacji. </p> <hr class="md-hr" /> <h2 id="dlaczego-protok-acme-nie-mo-e-wype-ni-tej-luki" class="md-h2">Dlaczego protokół ACME nie może wypełnić tej luki</h2> <p class="md-p"> Protokół ACME został zaprojektowany do automatyzacji <strong>kryptograficznego dowodu kontroli</strong>. Wyzwania, które definiuje, dają wyniki, które są albo prawidłowe, albo nieprawidłowe, bez żadnej niejednoznaczności. </p> <p class="md-p"> Weryfikacja certyfikatów Mark Certificate daje wyniki, które są <strong>ocenami, nie dowodami</strong>. Rozważmy: </p> <p class="md-p"> | Krok weryfikacji | Weryfikowalny maszynowo? | Przyczyna | |---|---|---| | Kontrola domeny (certyfikat TLS) | <strong>Tak</strong> | Obecność tokenu jest binarna | | Status rejestracji znaku towarowego | Częściowo | Istnieją API rejestrów, ale interpretacja wymaga kontekstu prawnego | | Zgodność logo ze znakiem towarowym | <strong>Nie</strong> | Wymaga oceny wizualnej i prawnej | | Zgodność techniczna SVG | Częściowo | Możliwe automatyczne wstępne kontrole, ale same niewystarczające | | Tożsamość organizacji | <strong>Nie</strong> | Wymaga przeglądu dokumentów | | Historyczne użytkowanie logo CMC | <strong>Nie</strong> | Wymaga badań archiwalnych i porównania wizualnego | </p> <p class="md-p"> Nawet gdyby przyszła wersja ACME została rozszerzona o nowe typy wyzwań, nie istnieje odpowiedź na wyzwanie, która może udowodnić „ten plik SVG jest wiernym odwzorowaniem rejestracji znaku towarowego numer 5 678 901". Takie ustalenie wymaga wykwalifikowanego ludzkiego eksperta. </p> <hr class="md-hr" /> <h2 id="dlaczego-vmc-kosztuj-1000-dolar-w-lub-wi-cej" class="md-h2">Dlaczego VMC kosztują 1000 dolarów lub więcej</h2> <p class="md-p"> Cena VMC odzwierciedla koszt opisanego powyżej procesu weryfikacji, a nie koszt operacji kryptograficznych związanych z wydaniem certyfikatu. Te operacje są trywialnie tanie. </p> <p class="md-p"> Składniki kosztów to: </p> <ol class="md-ol"> <li class="md-li"><strong>Czas eksperta</strong> — Wykwalifikowany ekspert ds. znaków towarowych przeglądający dokumentację, prowadzący korespondencję z wnioskodawcami i podejmujący decyzje. W zależności od złożoności pojedynczy wniosek może wymagać kilku godzin pracy eksperta.</li> <li class="md-li"><strong>Dostęp do baz danych znaków towarowych</strong> — Komercyjny dostęp do USPTO, EUIPO, WIPO i innych rejestrów nie jest bezpłatny dla użytkowników o dużym wolumenie.</li> <li class="md-li"><strong>Odpowiedzialność i ubezpieczenie</strong> — AMV ponoszą odpowiedzialność zawodową za swoje ustalenia. Jeśli VMC zostanie wydany nieprawidłowo i umożliwi podszywanie się pod markę, urząd certyfikacji ponosi odpowiedzialność prawną.</li> <li class="md-li"><strong>Koszty audytu i zgodności</strong> — AMV są</li> </ol> </div> <div class="doc-footer"> <a href="/" class="btn btn-primary">Convert Your Logo →</a> <a href="/check" class="btn btn-secondary">Audit Your Domain</a> </div> </main> </div> <footer> <div class="container footer-inner"> <div class="footer-left"> <span class="footer-copyright">© 2026 makeBIMI™</span> </div> <div class="footer-links"> <a href="/global" class="footer-link">Global</a> <a href="/knowledge">Learn</a> <a href="/certificates">VMC</a> <a href="https://veribimi.com" class="seo-link" rel="noopener">veriBIMI<sup style="font-size:0.45em; font-weight:400; color:rgba(247,248,248,0.28); position:relative; top:-0.5em; margin-left:1px; vertical-align:baseline;">℠</sup></a> <a href="https://veribimi.com/founder" rel="noopener">Founder</a> <a href="https://veribimi.com/privacy" rel="noopener">Privacy</a> </div> </div> </footer> <div class="cmd-overlay" id="cmd-overlay" role="dialog" aria-modal="true" aria-label="Command palette"> <div class="cmd-modal"> <div class="cmd-search-row"> <svg class="cmd-search-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg> <input type="text" class="cmd-input" id="cmd-input" placeholder="Search documentation, navigate pages…" autocomplete="off" /> <span class="cmd-esc">ESC</span> </div> <div class="cmd-results" id="cmd-results"></div> <div class="cmd-footer"> <span><kbd>↑↓</kbd> Navigate</span> <span><kbd>↵</kbd> Select</span> <span><kbd>ESC</kbd> Close</span> </div> </div> </div> <div class="toast-container" id="toast-container"></div> <!-- Inject sections data for Cmd+K --> <script> window.DOC_SECTIONS = ; </script> <script src="/public/js/app.js?v4"></script> <script src="/public/js/toc.js?v4"></script> <script src="/public/js/interactions.js?v4"></script> <!-- ── COOKIE CONSENT BANNER (EU/EEA only, based on CF-IPCountry) ── --> <div id="cookie-consent-banner" style="display:none;" role="dialog" aria-label="Cookie consent"> <div class="cookie-consent-inner"> <p class="cookie-consent-text"> We use Google Analytics to understand how visitors use this tool. No advertising cookies are set. <a href="https://veribimi.com/privacy" rel="noopener" class="cookie-consent-link">Privacy Policy</a> </p> <div class="cookie-consent-actions"> <button class="cookie-consent-btn cookie-consent-accept" onclick="acceptCookies()">Accept</button> <button class="cookie-consent-btn cookie-consent-decline" onclick="declineCookies()">Decline</button> </div> </div> </div> <script> (function() { // Only show for EU/EEA countries (Cloudflare sets CF-IPCountry via meta tag injected server-side) var country = document.documentElement.getAttribute('data-country') || ''; var EU_COUNTRIES = ['AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR','GR','HR', 'HU','IE','IT','LT','LU','LV','MT','NL','PL','PT','RO','SE','SI','SK', 'IS','LI','NO','GB','CH']; // EEA + UK + Switzerland (nFADP) var consent = localStorage.getItem('makebimi_cookie_consent'); if (!consent && EU_COUNTRIES.indexOf(country) !== -1) { document.getElementById('cookie-consent-banner').style.display = 'block'; } if (consent === 'declined') { // Remove GA4 script if previously declined var scripts = document.querySelectorAll('script[src*="googletagmanager"]'); scripts.forEach(function(s) { s.parentNode && s.parentNode.removeChild(s); }); } })(); function acceptCookies() { localStorage.setItem('makebimi_cookie_consent', 'accepted'); document.getElementById('cookie-consent-banner').style.display = 'none'; } function declineCookies() { localStorage.setItem('makebimi_cookie_consent', 'declined'); document.getElementById('cookie-consent-banner').style.display = 'none'; // Disable GA4 for this session window['ga-disable-G-S1HG2ZB83B'] = true; } </script> </body> </html>