Ten dokument wyjaśnia, jak używać certyfikatów e-mail S/MIME w interfejsie Gmail API.
Interfejs Gmail API zapewnia zautomatyzowany dostęp do zarządzania certyfikatami e-maili S/MIME użytkowników w domenie Google Workspace.
Aby certyfikaty działały, administrator musi włączyć hostowane szyfrowanie S/MIME w domenie.
Standard S/MIME zawiera specyfikację szyfrowania kluczem publicznym i podpisywania danych MIME. Gdy na koncie użytkownika skonfigurowane są certyfikaty S/MIME, Gmail używa ich w następujący sposób:
Podpisywanie poczty wychodzącej za pomocą certyfikatu użytkownika i klucza prywatnego.
odszyfrowywać przychodzące e-maile za pomocą klucza prywatnego użytkownika;
szyfrować pocztę wychodzącą za pomocą certyfikatu odbiorcy i klucza publicznego;
weryfikować przychodzące e-maile za pomocą certyfikatu nadawcy i klucza publicznego;
Możesz wygenerować poszczególne certyfikaty S/MIME i przesłać je za pomocą interfejsu Gmail API. Każdy certyfikat S/MIME jest przeznaczony dla konkretnego aliasu konta e-mail użytkownika. Aliasy obejmują podstawowy adres e-mail i niestandardowe adresy „Wyślij jako”. Interfejs API oznacza pojedynczy certyfikat S/MIME jako domyślny dla każdego aliasu.
Więcej informacji o aliasach znajdziesz w artykule Zarządzanie aliasami i podpisami za pomocą interfejsu Gmail API.
Autoryzowanie dostępu do interfejsu API
Aby autoryzować dostęp do interfejsu Gmail API, użyj jednej z tych metod:
Użyj konta usługi z przekazywaniem dostępu w całej domenie. Wyjaśnienie tych terminów znajdziesz w artykule Uwierzytelnianie i autoryzacja. Aby włączyć tę opcję, zapoznaj się z artykułem Tworzenie danych logowania.
Użyj standardowego przepływu OAuth 2.0, który wymaga zgody użytkownika na uzyskanie tokena dostępu OAuth 2.0. Więcej informacji znajdziesz w artykule Uwierzytelnianie i autoryzacja.
Aby skorzystać z tej opcji, administrator domeny musi zaznaczyć pole wyboru Włącz szyfrowanie S/MIME dla wysyłanych i odbieranych e-maili w konsoli administracyjnej Google. Więcej informacji znajdziesz w artykule Włączanie hostowanego szyfrowania S/MIME w konsoli administracyjnej Google.
Zakresy list ACL
Interfejs Gmail API korzysta z tych samych zakresów ACL co metody Gmail sendAs:
gmail.settings.basic: ten zakres jest wymagany do aktualizowania podstawowego certyfikatu S/MIME.SendAsgmail.settings.sharing: ten zakres jest wymagany do aktualizowania niestandardowego parametru from S/MIME.
Konfigurowanie kluczy S/MIME
Zasób
settings.sendAs.smimeInfo
udostępnia kilka metod zarządzania certyfikatami S/MIME. Każdy certyfikat jest powiązany z 1 aliasem „Wyślij jako” użytkownika.
Aby określić aliasy „Wyślij jako” użytkownika, użyj metody settings.sendAs.list w zasobie settings.sendAs.
Przesyłanie klucza S/MIME
Użyj metody
settings.sendAs.smimeInfo.insert
w zasobie settings.sendAs.smimeInfo, aby przesłać nowy klucz S/MIME
dla aliasu należącego do użytkownika. Określ alias celu, używając tych parametrów ścieżki:
userId: adres e-mail użytkownika. Aby wskazać uwierzytelnionego użytkownika, użyj wartości specjalnejme.sendAsEmail: alias, dla którego przesyłasz klucz. Ten adres e-mail pojawi się w nagłówkuFrom:poczty wysłanej przy użyciu tego aliasu.
Certyfikat S/MIME i klucz prywatny powinny być w tym formacie w polu pkcs12. Żadne inne pola w żądaniu nie powinny być ustawione. Pole pkcs12
zawiera zarówno klucz S/MIME użytkownika, jak i łańcuch certyfikatów podpisywania. Interfejs API przeprowadza standardowe testy poprawności tego pola przed jego zaakceptowaniem, sprawdzając:
- Temat pasuje do podanego adresu e-mail.
- Daty ważności są prawidłowe.
- Urząd certyfikacji, który wydał certyfikat, znajduje się na liście zaufanych urzędów certyfikacji Google.
- Certyfikaty są zgodne z ograniczeniami technicznymi Gmaila.
Jeśli klucz jest zaszyfrowany, hasło powinno znajdować się w polu
encryptedKeyPassword. Wywołanie metody settings.sendAs.smimeInfo.insert zwraca zasób settings.sendAs.smimeInfo , który będzie używany do odwoływania się do klucza w przyszłości.id
Wyświetlanie listy kluczy S/MIME użytkownika
Użyj metody
settings.sendAs.smimeInfo.list
w zasobie settings.sendAs.smimeInfo, aby zwrócić listę kluczy S/MIME
dla danego użytkownika i danego aliasu. Określ alias celu, korzystając z tych parametrów ścieżki:
userId: adres e-mail użytkownika. Aby wskazać uwierzytelnionego użytkownika, użyj wartości specjalnejme.sendAsEmail: Alias, dla którego mają zostać wyświetlone klucze. Ten adres e-mail pojawia się w nagłówkuFrom:poczty wysyłanej przy użyciu tego aliasu.
Pobieranie kluczy S/MIME dla aliasu
Użyj metody
settings.sendAs.smimeInfo.get
w zasobie settings.sendAs.smimeInfo, aby zwrócić konkretne klucze S/MIME
dla określonego aliasu „wyślij jako” użytkownika. Określ alias celu, używając tych parametrów ścieżki:
userId: adres e-mail użytkownika. Aby wskazać uwierzytelnionego użytkownika, użyj wartości specjalnejme.sendAsEmail: alias, dla którego pobierasz klucze. Ten adres e-mail pojawi się w nagłówkuFrom:poczty wysłanej przy użyciu tego aliasu.
Usuwanie klucza S/MIME
Użyj metody
settings.sendAs.smimeInfo.delete
w zasobie settings.sendAs.smimeInfo, aby usunąć określony klucz S/MIME z aliasu. Określ alias celu, korzystając z tych parametrów ścieżki:
userId: adres e-mail użytkownika. Aby wskazać uwierzytelnionego użytkownika, użyj wartości specjalnejme.sendAsEmail: alias, dla którego usuwasz klucze. Ten adres e-mail pojawi się w nagłówkuFrom:poczty wysłanej przy użyciu tego aliasu.id: niezmienny identyfikatorsmimeInfo.
Ustawianie domyślnego klucza S/MIME dla aliasu
Użyj metody
settings.sendAs.smimeInfo.setDefault
w zasobie settings.sendAs.smimeInfo, aby oznaczyć określony klucz S/MIME
jako domyślny dla określonego aliasu. Określ alias celu, korzystając z tych parametrów ścieżki:
userId: adres e-mail użytkownika. Aby wskazać uwierzytelnionego użytkownika, użyj wartości specjalnejme.sendAsEmail: alias, dla którego klucze mają być ustawione jako domyślne. Ten adres e-mail pojawi się w nagłówkuFrom:poczty wysłanej przy użyciu tego aliasu.id: niezmienny identyfikatorsmimeInfo.
Przykładowe fragmenty kodu
Poniższe przykłady kodu pokazują, jak za pomocą interfejsu Gmail API zarządzać certyfikatami S/MIME w organizacji z wieloma użytkownikami:
Tworzenie zasobu smimeInfo dla certyfikatu S/MIME
Ten przykładowy kod pokazuje, jak odczytać certyfikat z pliku, zakodować go do postaci ciągu Base64URL i przypisać do pola pkcs12
w zasobie settings.sendAs.smimeInfo:
Java
Python
Przesyłanie certyfikatu S/MIME
Aby przesłać certyfikat, wywołaj metodę
settings.sendAs.smimeInfo.insert
i podaj zasób settings.sendAs.smimeInfo w treści żądania:
Java
Python
Zarządzanie certyfikatami wielu użytkowników
Te przykłady kodu pokazują, jak zarządzać certyfikatami wielu użytkowników w organizacji w ramach jednego wywołania zbiorczego:
Wstawianie certyfikatów z pliku CSV
Oto przykładowy plik CSV z identyfikatorami użytkowników i ścieżkami do certyfikatów poszczególnych użytkowników:
$ cat certificates.csv
user1@example.com,/path/to/user1_cert.p12,cert_password_1
user2@example.com,/path/to/user2_cert.p12,cert_password_2
user3@example.com,/path/to/user3_cert.p12,cert_password_3
Java
Aby przesłać certyfikaty użytkowników wskazanych w pliku CSV, możesz użyć przykładowych plików
CreateSmimeInfo i
InsertSmimeInfo:
Python
Możesz użyć przykładów create_smime_info i insert_smime_info, aby przesłać certyfikaty użytkowników wskazanych w pliku CSV:
Zarządzanie certyfikatami
Ten przykład łączy kilka metod z zasobu settings.sendAs.smimeInfo, aby pokazać, jak zarządzać certyfikatami w organizacji. Wyświetla listę certyfikatów użytkownika. Jeśli domyślny certyfikat wygasł lub nie został ustawiony, przesyła certyfikat znaleziony w określonym pliku. Następnie ustawia jako domyślny certyfikat, którego data ważności jest najdalsza w przyszłości.
Funkcja ta przetwarza plik CSV podobnie jak poprzedni przykład Wstawianie certyfikatów z pliku CSV.
Java
Python
Powiązane artykuły
- Zarządzanie aliasami i podpisami za pomocą interfejsu Gmail API
- Wybieranie zakresów interfejsu Gmail API
- Włączanie hostowanego szyfrowania S/MIME w celu szyfrowania wiadomości