Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

S/MIME Bagian 2: Ditandatangani, Disegel, dan Dikirim melalui SparkPost

Email

1 min read

S/MIME Bagian 2: Ditandatangani, Disegel, dan Dikirim melalui SparkPost

Email

1 min read

S/MIME Bagian 2: Ditandatangani, Disegel, dan Dikirim melalui SparkPost

Pada bagian 1, kami melakukan tur singkat tentang S/MIME, melihat penandatanganan dan enkripsi aliran pesan kami di berbagai klien email. Pesan S/MIME dapat ditandatangani (memberikan bukti identitas pengirim), dienkripsi (menjaga isi pesan tetap rahasia), atau keduanya.

Dalam angsuran ini, kita akan:

  • Memasang beberapa alat baris perintah sederhana untuk menandatangani dan mengenkripsi email

  • Mendapatkan kunci / sertifikat pengirim Anda untuk penandatanganan

  • Mengirim pesan yang telah ditandatangani melalui SparkPost, dan melihat pesan yang diterima

  • Opsional, mendapatkan sertifikat penerima Anda untuk enkripsi

  • Mengirim pesan yang telah ditandatangani dan dienkripsi melalui SparkPost, dan melihat pesan yang diterima

  • Mencoba alat mandiri yang berguna "mimeshow" untuk melihat internal file email.

OK – ayo kita mulai!

1. Instal alat

Alat demonstrasi ada di Github di sini, lengkap dengan instruksi pemasangan. Anda mungkin memperhatikan logo "build passing" – Travis dan pytest secara otomatis memeriksa status build. Perhatikan alat-alat ini tidak didukung secara resmi oleh SparkPost, tetapi saya telah mencoba membuatnya kuat dan mudah digunakan.

Jika Anda memiliki pengetahuan tentang Python dan pip, pemasangan seharusnya terasa cukup familiar. Pipfile mengurus ketergantungan eksternal secara otomatis untuk Anda. Setelah selesai, Anda dapat memeriksa semuanya terpasang dengan menjalankan

./sparkpostSMIME.py -h

Anda harus melihat teks bantuan yang ramah. Selanjutnya, kita perlu…

2. Dapatkan kunci pengirim / sertifikat Anda untuk penandatanganan

Jika Anda sudah memiliki file kunci untuk identitas pengiriman Anda, Anda dapat langsung melanjutkan. Jika tidak, ada dua opsi untuk dipilih:

a) Kunci ujicoba / sertifikat yang ditandatangani sendiri (tidak valid secara eksternal)

Jika Anda hanya ingin menguji, Anda dapat membuat sertifikat dan kunci "ditandatangani sendiri" untuk alamat email menggunakan alat baris perintah openssl di Linux, mengikuti prosedur seperti yang ini. Di akhir proses tersebut, Anda akan memiliki file smime.p12. Ganti nama file ini agar cocok dengan identitas pengiriman Anda, termasuk tanda @, misalnya, alice@example.com.p12.

atau

b) Kunci / sertifikat yang valid secara eksternal

Jika Anda ingin mendapatkan kunci / sertifikat yang valid secara eksternal yang memungkinkan Anda untuk menandatangani, ada daftar penyedia di sini. Saya menemukan bahwa Comodo bekerja dengan baik (gratis untuk penggunaan non-komersial), dan lebih mudah daripada prosedur tanda sendiri di atas. Ikuti proses pendaftaran, terima email validasi Anda, dan pastikan untuk membuka tautan di Firefox. Pergi ke Preferensi Firefox / Privasi dan Keamanan. Gulir ke Sertifikat / Lihat Sertifikat:




Pilih sertifikat Anda, dan gunakan opsi “Backup” untuk menyimpan sebagai file dalam format PKCS12 (tambahkan ekstensi file .p12 ke nama file Anda) yang membawa kunci pribadi dan rantai sertifikat publik.




Berikan kata sandi untuk mengamankan file .p12:

Hasilkan file kunci publik (.crt) dan kunci pribadi (.pem) terpisah

Apakah Anda menggunakan a) atau b), Anda sekarang akan memiliki file .p12 untuk identitas pengirim Anda. Itu langkah besar ke depan – nikmati kopi sekarang!

Sekarang kita perlu menghasilkan file kunci publik dan kunci pribadi terpisah seperti ini – mengganti dengan alamat email Anda sendiri sebagai contoh. (Mac OSX dan Linux):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

Anda harus memasukkan kata sandi yang Anda berikan sebelumnya. Perhatikan backslashes \ tersebut digunakan untuk meloloskan tanda @ – bukan memisahkan nama dari jalur direktori (yaitu garis miring ke depan / di Mac OSX dan Linux).

Jika Anda menggunakan Windows, ada penerapan openssl yang tersedia seperti MINGW64 yang dibangun ke dalam alat baris perintah Git, tetapi saya menemukan itu cenderung macet. Anda mungkin akan lebih mudah dan cepat melakukan ini di Linux dan kemudian menyalin file Anda. Alat Git yang sama ini untuk Windows dilengkapi dengan klien ssh yang bagus yang dapat Anda gunakan untuk login ke kotak Linux, seperti instance Amazon EC2.




2.1 Menandatangani pesan

Sudah ada file kunci / sertifikat dummy dan sumber email di direktori pengujian untuk alice@example.com, sehingga Anda bisa mendapatkan keluaran bahkan sebelum Anda memiliki kunci sendiri. Cukup ketik yang berikut:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

Dan Anda akan mendapatkan:

Kepada: Bob <bob@example.com> Dari: Alice <alice@example.com> Subjek: Sebuah pesan MIME-Version: 1.0 Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

Anda sebenarnya tidak dapat mengirim email dari example.com via SparkPost kecuali Anda memiliki domain tersebut, jadi langkah selanjutnya adalah menggunakan kunci Anda sendiri dan mengirim pesan yang ditandatangani dari domain Anda sendiri.

Jika Anda sudah memiliki file kunci untuk identitas pengiriman Anda, Anda dapat langsung melanjutkan. Jika tidak, ada dua opsi untuk dipilih:

a) Kunci ujicoba / sertifikat yang ditandatangani sendiri (tidak valid secara eksternal)

Jika Anda hanya ingin menguji, Anda dapat membuat sertifikat dan kunci "ditandatangani sendiri" untuk alamat email menggunakan alat baris perintah openssl di Linux, mengikuti prosedur seperti yang ini. Di akhir proses tersebut, Anda akan memiliki file smime.p12. Ganti nama file ini agar cocok dengan identitas pengiriman Anda, termasuk tanda @, misalnya, alice@example.com.p12.

atau

b) Kunci / sertifikat yang valid secara eksternal

Jika Anda ingin mendapatkan kunci / sertifikat yang valid secara eksternal yang memungkinkan Anda untuk menandatangani, ada daftar penyedia di sini. Saya menemukan bahwa Comodo bekerja dengan baik (gratis untuk penggunaan non-komersial), dan lebih mudah daripada prosedur tanda sendiri di atas. Ikuti proses pendaftaran, terima email validasi Anda, dan pastikan untuk membuka tautan di Firefox. Pergi ke Preferensi Firefox / Privasi dan Keamanan. Gulir ke Sertifikat / Lihat Sertifikat:




Pilih sertifikat Anda, dan gunakan opsi “Backup” untuk menyimpan sebagai file dalam format PKCS12 (tambahkan ekstensi file .p12 ke nama file Anda) yang membawa kunci pribadi dan rantai sertifikat publik.




Berikan kata sandi untuk mengamankan file .p12:

Hasilkan file kunci publik (.crt) dan kunci pribadi (.pem) terpisah

Apakah Anda menggunakan a) atau b), Anda sekarang akan memiliki file .p12 untuk identitas pengirim Anda. Itu langkah besar ke depan – nikmati kopi sekarang!

Sekarang kita perlu menghasilkan file kunci publik dan kunci pribadi terpisah seperti ini – mengganti dengan alamat email Anda sendiri sebagai contoh. (Mac OSX dan Linux):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

Anda harus memasukkan kata sandi yang Anda berikan sebelumnya. Perhatikan backslashes \ tersebut digunakan untuk meloloskan tanda @ – bukan memisahkan nama dari jalur direktori (yaitu garis miring ke depan / di Mac OSX dan Linux).

Jika Anda menggunakan Windows, ada penerapan openssl yang tersedia seperti MINGW64 yang dibangun ke dalam alat baris perintah Git, tetapi saya menemukan itu cenderung macet. Anda mungkin akan lebih mudah dan cepat melakukan ini di Linux dan kemudian menyalin file Anda. Alat Git yang sama ini untuk Windows dilengkapi dengan klien ssh yang bagus yang dapat Anda gunakan untuk login ke kotak Linux, seperti instance Amazon EC2.




2.1 Menandatangani pesan

Sudah ada file kunci / sertifikat dummy dan sumber email di direktori pengujian untuk alice@example.com, sehingga Anda bisa mendapatkan keluaran bahkan sebelum Anda memiliki kunci sendiri. Cukup ketik yang berikut:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

Dan Anda akan mendapatkan:

Kepada: Bob <bob@example.com> Dari: Alice <alice@example.com> Subjek: Sebuah pesan MIME-Version: 1.0 Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

Anda sebenarnya tidak dapat mengirim email dari example.com via SparkPost kecuali Anda memiliki domain tersebut, jadi langkah selanjutnya adalah menggunakan kunci Anda sendiri dan mengirim pesan yang ditandatangani dari domain Anda sendiri.

Jika Anda sudah memiliki file kunci untuk identitas pengiriman Anda, Anda dapat langsung melanjutkan. Jika tidak, ada dua opsi untuk dipilih:

a) Kunci ujicoba / sertifikat yang ditandatangani sendiri (tidak valid secara eksternal)

Jika Anda hanya ingin menguji, Anda dapat membuat sertifikat dan kunci "ditandatangani sendiri" untuk alamat email menggunakan alat baris perintah openssl di Linux, mengikuti prosedur seperti yang ini. Di akhir proses tersebut, Anda akan memiliki file smime.p12. Ganti nama file ini agar cocok dengan identitas pengiriman Anda, termasuk tanda @, misalnya, alice@example.com.p12.

atau

b) Kunci / sertifikat yang valid secara eksternal

Jika Anda ingin mendapatkan kunci / sertifikat yang valid secara eksternal yang memungkinkan Anda untuk menandatangani, ada daftar penyedia di sini. Saya menemukan bahwa Comodo bekerja dengan baik (gratis untuk penggunaan non-komersial), dan lebih mudah daripada prosedur tanda sendiri di atas. Ikuti proses pendaftaran, terima email validasi Anda, dan pastikan untuk membuka tautan di Firefox. Pergi ke Preferensi Firefox / Privasi dan Keamanan. Gulir ke Sertifikat / Lihat Sertifikat:




Pilih sertifikat Anda, dan gunakan opsi “Backup” untuk menyimpan sebagai file dalam format PKCS12 (tambahkan ekstensi file .p12 ke nama file Anda) yang membawa kunci pribadi dan rantai sertifikat publik.




Berikan kata sandi untuk mengamankan file .p12:

Hasilkan file kunci publik (.crt) dan kunci pribadi (.pem) terpisah

Apakah Anda menggunakan a) atau b), Anda sekarang akan memiliki file .p12 untuk identitas pengirim Anda. Itu langkah besar ke depan – nikmati kopi sekarang!

Sekarang kita perlu menghasilkan file kunci publik dan kunci pribadi terpisah seperti ini – mengganti dengan alamat email Anda sendiri sebagai contoh. (Mac OSX dan Linux):

openssl pkcs12 -in alice\@example.com.p12 -clcerts -nokeys -out alice\@example.com.crt openssl pkcs12 -in alice\@example.com.p12 -nocerts -nodes -out alice\@example.com.pem

Anda harus memasukkan kata sandi yang Anda berikan sebelumnya. Perhatikan backslashes \ tersebut digunakan untuk meloloskan tanda @ – bukan memisahkan nama dari jalur direktori (yaitu garis miring ke depan / di Mac OSX dan Linux).

Jika Anda menggunakan Windows, ada penerapan openssl yang tersedia seperti MINGW64 yang dibangun ke dalam alat baris perintah Git, tetapi saya menemukan itu cenderung macet. Anda mungkin akan lebih mudah dan cepat melakukan ini di Linux dan kemudian menyalin file Anda. Alat Git yang sama ini untuk Windows dilengkapi dengan klien ssh yang bagus yang dapat Anda gunakan untuk login ke kotak Linux, seperti instance Amazon EC2.




2.1 Menandatangani pesan

Sudah ada file kunci / sertifikat dummy dan sumber email di direktori pengujian untuk alice@example.com, sehingga Anda bisa mendapatkan keluaran bahkan sebelum Anda memiliki kunci sendiri. Cukup ketik yang berikut:

cd tests ../sparkpostSMIME.py example_email1.eml --sign

Dan Anda akan mendapatkan:

Kepada: Bob <bob@example.com> Dari: Alice <alice@example.com> Subjek: Sebuah pesan MIME-Version: 1.0 Content-Type: application/x-pkcs7-mime; smime-type=signed-data; name="smime.p7m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7m" MIIKXAYJKoZIhvcNAQcCoIIKTTCCCkkCAQExDzANBglghkgBZQMEAgEFADCCAQoGCSqGSIb3DQEH AaCB/ASB+VRvOiBCb2IgPGJvYkBleGFtcGxlLmNvbT4NCkZyb206IEFsaWNlIDxhbGljZUBleGFt : :

Anda sebenarnya tidak dapat mengirim email dari example.com via SparkPost kecuali Anda memiliki domain tersebut, jadi langkah selanjutnya adalah menggunakan kunci Anda sendiri dan mengirim pesan yang ditandatangani dari domain Anda sendiri.

3. Kirim pesan yang ditandatangani melalui SparkPost

Sekarang mari kita gunakan domain pengiriman nyata, yang diatur sesuai dengan Panduan Pengguna Baru SparkPost. Kami memiliki sertifikat dan file kunci pengirim di direktori saat ini:

steve@thetucks.com.crt steve@thetucks.com.pem

File tests/declaration.eml disertakan dalam proyek. Ini hanyalah file teks, jadi Anda bisa menyesuaikan alamat From: sesuai dengan domain pengiriman Anda sendiri dan alamat To: sesuai dengan penerima uji Anda. Awal file terlihat seperti ini:

To: Bob <bob.lumreeker@gmail.com> From: Steve <steve@thetucks.com> Subject: Here is our declaration MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB When in the Course of human events it becomes necessary …




Atur kunci API Anda:

export SPARKPOST_API_KEY=<<Masukkan kunci API Anda di sini>>

Kirim email:

./sparkpostSMIME.py tests/declaration.eml --sign --send_api




Anda akan melihat:

Tersambung ke https://api.sparkpost.com/api/v1 Mengirim tests/declaration.eml From: Steve <steve@thetucks.com> To: Bob <bob.lumreeker@gmail.com> OK - dalam 1,15 detik

Sekitar satu atau dua detik kemudian, email tiba di inbox Bob. Thunderbird menampilkannya dengan titik merah pada amplop, menunjukkan tanda tangan pengirim yang valid.

Sukses! Habiskan kopi itu, Anda layak mendapatkannya. Jika Anda mengalami kesulitan, periksa apakah alamat From: di file email sesuai dengan nama file .crt dan .pem Anda.

4. Mengenkripsi pesan

Untuk mengenkripsi pesan, Anda memerlukan kunci publik penerima dalam bentuk sertifikat. Ini adalah file teks yang terlihat seperti ini:

Atribut Tas   friendlyName: s COMODO CA Limited ID #2   localKeyID: 32 84 AB 9C 56 5C 80 C6 89 4D 40 46 DD D4 7C 71 E8 CD ED C1 subject=/emailAddress=bob.lumreeker@gmail.com issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Client Authentication and Secure Email CA -----BEGIN CERTIFICATE----- terlihat seperti karakter acak di sini -----END CERTIFICATE-----

Ada sertifikat penerima palsu untuk bob@example.com di direktori pengujian, jadi Anda bisa berlatih dengan itu sebelum Anda benar-benar memiliki sertifikat:

cd tests ../sparkpostSMIME.py example_email1.eml --sign --encrypt




Anda akan melihat:




Kepada: Bob <bob@example.com> Dari: Alice <alice@example.com> Subjek: Sebuah pesan MIME-Version: 1.0 Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7m MIIRwQYJKoZIhvcNAQcDoIIRsjCCEa4CAQAxggKlMIICoQIBADCBijCBhDELMAkG :

Anda akan melihat bahwa panjang keluaran cukup lebih panjang daripada pesan terenkripsi karena membawa banyak informasi tambahan serta pesan yang diacak itu sendiri.




4.1 Mengirim pesan terenkripsi dan ditandatangani melalui SparkPost

Ayo kirim pesan terenkripsi ke alamat email nyata. Anda dapat mengikuti proses yang sama seperti sebelumnya (sertifikat buatan sendiri atau melalui penyedia seperti Comodo) untuk mendapatkan kunci publik / sertifikat untuk alamat penerima Anda. Anda hanya membutuhkan file .crt – penerima tidak perlu pernah memberikan kunci pribadi mereka (.p12 dan .pem file).

Saya memiliki file bob.lumreeker@gmail.com.crt untuk penerima yang dituju – sesuai dengan alamat Dari: dalam file saya.

Ini perintah untuk mengirim:

./sparkpostSMIME.py tests/declaration.eml --sign --encrypt --send_api




Saya melihat:

Tersedia koneksi ke https://api.sparkpost.com/api/v1 Mengirim tests/declaration.eml Dari: Steve <steve@thetucks.com> Ke: Bob <bob.lumreeker@gmail.com> OK - dalam 1.168 detik

Email muncul di Thunderbird dengan ikon tanda tangan “titik merah” dan ikon terenkripsi “gembok”.




Anda dapat mengirim email berbasis HTML yang kompleks dengan tautan dan gambar sama mudahnya, seperti yang ditunjukkan di Bagian 1. Beberapa klien seperti Thunderbird meminta izin untuk menampilkan tautan eksternal dan gambar dalam pesan S/MIME yang terenkripsi, tetapi pesan yang hanya ditandatangani dapat ditampilkan dengan baik di klien termasuk Thunderbird dan Gmail:




Perhatikan menu drop-down menunjukkan “Alamat email terverifikasi”.

Pikiran lebih lanjut & hal-hal yang perlu diperhatikan

Alat ini mengambil pendekatan yang sangat sederhana untuk mendapatkan kunci yang diperlukan – hanya mencari file bernama di direktori saat ini. Pengaturan yang lebih kompleks, seperti menyimpan semua kunci di database dapat dengan mudah ditambahkan, tetapi saya ingin kodenya sesederhana mungkin.

Anda dapat menyertakan penerima lain dengan Cc: dan Bcc: dan mereka akan dikirimkan; ini bisa berguna untuk tujuan arsip. Pesan yang ditandatangani diterima dan dapat ditampilkan oleh penerima lain lengkap dengan tanda tangan. Alat ini menghapus header Bcc: dari pesan yang diterima (seperti yang akan dilakukan oleh klien email desktop).

Untuk memastikan bahwa pesan melewati SparkPost tanpa berubah (yang dapat merusak penandatanganan), alat ini mengatur opsi API untuk pengiriman “transactional”, dengan pelacakan pembukaan dan klik dinonaktifkan.

Jika Anda menggunakan enkripsi, ingatlah bahwa alat ini mengambil satu alamat To: untuk itu. Penerima lain dapat mendekripsi isi pesan hanya jika mereka memiliki kunci pribadi penerima To:. Jika Anda hanya menggunakan penerima sekunder sebagai catatan pengiriman yang dilakukan, misalnya, itu mungkin tetap OK.

Ditandatangani, disegel, diantar... Aku milikmu

Itu adalah gambaran cepat kami tentang cara menandatangani, menyegel, dan mengirim pesan S/MIME melalui SparkPost. Pengingat cepat: proyek demo ada di Github di sini, saya telah mencoba membuatnya mudah untuk dipasang dan digunakan.

Fitur bonus: menampilkan bagian MIME dengan "mimeshow"

RFC822 MIME multipart file internals cukup kompleks untuk dibaca oleh manusia. Proyek ini mencakup alat mandiri untuk mempermudah ini, yang disebut mimeshow.




Ini mengambil file email apa pun yang Anda miliki (bukan hanya yang S/MIME) dan menunjukkan struktur internalnya. Berikut adalah contohnya:

./mimeshow.py testcases/img_and_attachment.eml




Anda akan melihat:

Kepada Bob <bob.lumreeker@gmail.com>

Dari Steve <steve@thetucks.com>

Subjek Pengujian lampiran dll

Versi-MIME 1.0

Jenis-Konten multipart/mixed; boundary="------------7D48652042860D0098C65210"

Bahasa-Konten en-GB

 Jenis-Konten multipart/alternative; boundary="------------58C0BF87598336550D70EB95"

   Jenis-Konten text/plain; charset=utf-8; format=flowed

   Pengkodean Transfer-Konten 7bit

   Pengkodean Transfer-Konten quoted-printable

   Jenis-Konten text/html; charset="utf-8"

 Jenis-Konten application/pdf; name="sparkpost-datasheet-tam-technical-account-management.pdf"

 Pengkodean Transfer-Konten base64

 Penempatan-Konten lampiran; filename="sparkpost-datasheet-tam-technical-account-management.pdf"



Anda juga dapat menggunakan sebagai filter untuk memberikan ringkasan output sparkpostSMIME  yang mudah dibaca oleh manusia:

./sparkpostSMIME.py tests/declaration.eml --sign --encrypt | ./mimeshow.py




Anda akan melihat:

Kepada Bob <bob.lumreeker@gmail.com>

Dari Steve <steve@thetucks.com>

Subjek Inilah deklarasi kami

Bahasa-Konten en-GB

Versi-MIME 1.0

Jenis-Konten application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m

Pengkodean Transfer-Konten base64

Penempatan-Konten lampiran; filename=smime.p7m



Akhirnya...

Untuk merekap - kami telah menginstal beberapa alat baris perintah sederhana untuk menandatangani dan mengenkripsi email (repo Github ada di sini, lengkap dengan instruksi instalasi).




Kami mendapatkan kunci / sertifikat pengirim kami untuk menandatangani, dan mengirim pesan bertanda melalui SparkPost. Kami mendapatkan sertifikat penerima untuk enkripsi, kemudian mengirim pesan bertanda dan terenkripsi melalui SparkPost.




Terakhir, kami mencoba alat mandiri yang berguna “mimeshow” untuk melihat bagian internal file email.


Itu saja untuk sekarang! Sampai jumpa lagi!.

Bergabunglah dengan Newsletter kami.

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Dengan mengirimkan, Anda setuju Bird dapat menghubungi Anda tentang produk dan layanan kami.

Anda dapat berhenti berlangganan kapan saja. Lihat Pernyataan Privasi Bird untuk detail tentang pemrosesan data.

Bergabunglah dengan Newsletter kami.

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Dengan mengirimkan, Anda setuju Bird dapat menghubungi Anda tentang produk dan layanan kami.

Anda dapat berhenti berlangganan kapan saja. Lihat Pernyataan Privasi Bird untuk detail tentang pemrosesan data.

Bergabunglah dengan Newsletter kami.

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Dengan mengirimkan, Anda setuju Bird dapat menghubungi Anda tentang produk dan layanan kami.

Anda dapat berhenti berlangganan kapan saja. Lihat Pernyataan Privasi Bird untuk detail tentang pemrosesan data.

Logo Pinterest
Uber logo
Square logo
Logo Adobe
Logo Meta
Logo PayPal

Perusahaan

Newsletter

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Dengan mengirimkan, Anda setuju Bird dapat menghubungi Anda tentang produk dan layanan kami.

Anda dapat berhenti berlangganan kapan saja. Lihat Pernyataan Privasi Bird untuk detail tentang pemrosesan data.

Uber logo
Square logo
Logo Adobe
Logo Meta

Perusahaan

Newsletter

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Dengan mengirimkan, Anda setuju Bird dapat menghubungi Anda tentang produk dan layanan kami.

Anda dapat berhenti berlangganan kapan saja. Lihat Pernyataan Privasi Bird untuk detail tentang pemrosesan data.

Uber logo
Logo Adobe
Logo Meta

Reach

Grow

Manage

Automate

Sumber Daya

Perusahaan

Newsletter

Tetap terinformasi dengan Bird melalui pembaruan mingguan ke kotak masuk Anda.

Dengan mengirimkan, Anda setuju Bird dapat menghubungi Anda tentang produk dan layanan kami.

Anda dapat berhenti berlangganan kapan saja. Lihat Pernyataan Privasi Bird untuk detail tentang pemrosesan data.