Ρύθμιση AS2 με εμπορικό συνεργάτη στο Boomi
Πώς δουλεύει το AS2 (υπογραφή, κρυπτογράφηση, MDNs), τι ανταλλάσσετε με τον συνεργάτη και πώς ρυθμίζετε, δοκιμάζετε και βγάζετε σε παραγωγή μια σύνδεση AS2 στο Boomi, με checklist.
Η ομάδα EDI της αλυσίδας σάς στέλνει μια φόρμα: «Παρακαλούμε δώστε μας το AS2 ID σας, το AS2 URL, το δημόσιο πιστοποιητικό σας και τις προτιμήσεις σας για MDN.» Αν το AS2 είναι καινούργιο για εσάς, οι μισοί όροι είναι ασαφείς και οι άλλοι μισοί ακούγονται σαν να μπορούν να πάνε στραβά με ύπουλους τρόπους. Μπορούν. Σε αυτό το άρθρο εξηγούμε τι ακριβώς κάνει το AS2, τι ανταλλάσσετε με έναν συνεργάτη και γιατί, και μετά περνάμε τη ρύθμιση στο Boomi, από τα πιστοποιητικά μέχρι το πρώτο επιτυχημένο MDN.
Γιατί όχι απλώς email ή SFTP;
Το email είναι αναξιόπιστο και ανασφαλές για επιχειρηματικά έγγραφα. Το SFTP είναι ασφαλές στη μεταφορά και πολύ διαδεδομένο, αλλά από μόνο του δεν λέει στον αποστολέα ότι ο παραλήπτης πήρε το αρχείο ακέραιο, ούτε δίνει σε καμία πλευρά νομική απόδειξη για το τι στάλθηκε. Για μεγάλες αλυσίδες που ανταλλάσσουν χιλιάδες παραγγελίες και τιμολόγια την ημέρα, αυτή η απόδειξη μετράει: οι διαφωνίες για «την παραγγελία που δεν πήραμε ποτέ» κοστίζουν.
Πώς δουλεύει το AS2
Το AS2 (Applicability Statement 2) στέλνει ένα έγγραφο μέσω HTTP ή HTTPS και προσθέτει τρία πράγματα:
- Υπογραφή. Ο αποστολέας υπογράφει το μήνυμα με το ιδιωτικό του κλειδί. Ο παραλήπτης επαληθεύει την υπογραφή με το δημόσιο πιστοποιητικό του αποστολέα, οπότε ξέρει ποιος το έστειλε και ότι δεν άλλαξε τίποτα.
- Κρυπτογράφηση. Ο αποστολέας κρυπτογραφεί το μήνυμα με το δημόσιο πιστοποιητικό του παραλήπτη. Μόνο ο παραλήπτης, με το ιδιωτικό του κλειδί, μπορεί να το αποκρυπτογραφήσει.
- MDN (Message Disposition Notification). Ο παραλήπτης επιστρέφει μια απόδειξη, συνήθως υπογεγραμμένη, που περιέχει ένα hash όσων παρέλαβε. Αυτό αποδεικνύει την παράδοση και δίνει και στις δύο πλευρές non-repudiation (μη αποποίηση).
Τα MDNs μπορεί να είναι σύγχρονα (επιστρέφονται στην ίδια σύνδεση HTTP) ή ασύγχρονα (στέλνονται αργότερα σε ένα URL που δίνει ο αποστολέας). Το σύγχρονο είναι απλούστερο και συνηθισμένο για κανονικά μεγέθη αρχείων· το ασύγχρονο βοηθά σε μεγάλα αρχεία ή αργή επεξεργασία.
Εσείς ──[υπογραφή με το κλειδί σας, κρυπτογράφηση με το cert του συνεργάτη]──► Συνεργάτης
Εσείς ◄────────────[υπογεγραμμένο MDN: «παρελήφθη, hash = ...»]──────────── Συνεργάτης
Τι ανταλλάσσετε με τον συνεργάτη
| Στοιχείο | Δίνετε στον συνεργάτη | Σας δίνει ο συνεργάτης |
|---|---|---|
| AS2 ID | Το δικό σας AS2 αναγνωριστικό | Το δικό του AS2 αναγνωριστικό |
| URL | Το URL όπου λαμβάνετε AS2 | Το URL όπου λαμβάνει AS2 |
| Πιστοποιητικό | Μόνο το δημόσιο πιστοποιητικό σας | Το δημόσιο πιστοποιητικό του |
| Αλγόριθμοι | Συμφωνημένοι αλγόριθμοι υπογραφής και κρυπτογράφησης (π.χ. SHA-256, AES) | |
| MDN | Σύγχρονο ή ασύγχρονο, υπογεγραμμένο ή όχι | Τις δικές του απαιτήσεις |
| Δίκτυο | Τις δημόσιες IP σας (για το allowlist του) | Τις δικές του IP |
Μη στείλετε ποτέ το ιδιωτικό σας κλειδί σε κανέναν. Αν ένας συνεργάτης ζητήσει αρχείο «.pfx» ή «.p12», ζητά το λάθος πράγμα.
Ρύθμιση στο Boomi
Στο Boomi, το AS2 ρυθμίζεται σε τρία σημεία: στο runtime που λαμβάνει τα μηνύματα AS2, στα Certificate components για τα κλειδιά, και στα Trading Partner components που κρατούν τις ρυθμίσεις AS2 κάθε πλευράς. Οι ακριβείς ετικέτες διαφέρουν από έκδοση σε έκδοση και ανάμεσα στις κλασικές οθόνες trading partner και τη νεότερη εμπειρία B2B/EDI Management, οπότε χρησιμοποιήστε τα παρακάτω βήματα ως οδηγό για τη σειρά της δουλειάς.
Βήμα 1: Προετοιμάστε το runtime για εισερχόμενο AS2
Για να λαμβάνετε μηνύματα, ο συνεργάτης πρέπει να φτάνει σε ένα AS2 endpoint του Boomi runtime σας.
- Αποφασίστε πού λαμβάνετε: σε ένα τοπικό Atom ή Molecule στο δίκτυό σας, ή σε ένα runtime cloud που φιλοξενεί το Boomi. Ελέγξτε ότι ο τύπος runtime που επιλέγετε υποστηρίζει εισερχόμενο AS2, και πώς σχηματίζεται το δημόσιο URL του.
- Για τοπικό runtime, ρυθμίστε τις ρυθμίσεις AS2 shared server του runtime (port, base URL, πιστοποιητικό TLS) και κάντε το endpoint προσβάσιμο από το internet, συνήθως μέσω reverse proxy ή κανόνα firewall, περιορισμένο στις IP του συνεργάτη.
- Χρησιμοποιήστε HTTPS με πιστοποιητικό από δημόσια αρχή πιστοποίησης για τη μεταφορά. Αυτό το πιστοποιητικό TLS είναι ξεχωριστό από τα πιστοποιητικά υπογραφής και κρυπτογράφησης του AS2.
Βήμα 2: Δημιουργήστε ή προμηθευτείτε το πιστοποιητικό AS2
- Δημιουργήστε ένα ζεύγος κλειδιών για το AS2. Πολλές εταιρείες χρησιμοποιούν πιστοποιητικό από CA· άλλες self-signed, που οι περισσότεροι συνεργάτες δέχονται για υπογραφή και κρυπτογράφηση AS2. Ρωτήστε τον συνεργάτη τι απαιτεί.
- Εισαγάγετε το ιδιωτικό σας κλειδί (αρχείο
.p12/.pfxμε τον κωδικό του) στο Boomi ως Certificate component. Θα χρησιμοποιείται για την υπογραφή των εξερχόμενων μηνυμάτων και την αποκρυπτογράφηση των εισερχόμενων. - Εξαγάγετε το δημόσιο μέρος ως αρχείο
.cerκαι στείλτε το στον συνεργάτη. - Εισαγάγετε το δημόσιο πιστοποιητικό του συνεργάτη ως άλλο ένα Certificate component.
Σημειώστε τις ημερομηνίες λήξης και των δύο πιστοποιητικών. Περισσότερα παρακάτω. Για τον ασφαλή χειρισμό κλειδιών και κωδικών γενικά, δείτε το Διαχείριση secrets και πιστοποιητικών στο Boomi.
Βήμα 3: Ρυθμίστε το AS2 της δικής σας εταιρείας
Στο Trading Partner component της εταιρείας σας (αυτό με ταξινόμηση «my company»), στις ρυθμίσεις επικοινωνίας AS2:
- Ορίστε το AS2 ID σας (συμφωνήστε το με τον συνεργάτη· πολλές εταιρείες χρησιμοποιούν την επωνυμία ή το GLN τους).
- Επιλέξτε το πιστοποιητικό με το ιδιωτικό κλειδί για υπογραφή και αποκρυπτογράφηση.
- Ορίστε πώς στέλνετε MDNs για τα μηνύματα που λαμβάνετε.
Βήμα 4: Ρυθμίστε το AS2 του συνεργάτη
Στο Trading Partner component του συνεργάτη, στις ρυθμίσεις επικοινωνίας AS2:
- Συμπληρώστε το AS2 URL και το AS2 ID του συνεργάτη.
- Επιλέξτε το δημόσιο πιστοποιητικό του συνεργάτη για κρυπτογράφηση και επαλήθευση υπογραφής.
- Επιλέξτε τους συμφωνημένους αλγόριθμους υπογραφής και κρυπτογράφησης.
- Ορίστε τις επιλογές MDN: να ζητείται MDN, να είναι υπογεγραμμένο, και σύγχρονο ή ασύγχρονο όπως συμφωνήθηκε.
Βήμα 5: Δοκιμή σύνδεσης
Δοκιμάστε σε μικρά βήματα, ώστε όταν κάτι αποτύχει να ξέρετε σε ποιο επίπεδο:
- Δίκτυο. Φτάνει ο συνεργάτης στο URL σας, και εσείς στο δικό του; Ένα απλό αίτημα HTTPS (που περιμένετε να επιστρέψει σφάλμα, όχι timeout) αρκεί.
- Εξερχόμενο δοκιμαστικό αρχείο. Στείλτε ένα μικρό δοκιμαστικό έγγραφο από ένα process που τελειώνει σε Trading Partner shape (ή σε connector shape με AS2 client, ανάλογα με τον τρόπο αποστολής). Ελέγξτε ότι παίρνετε έγκυρο MDN και ότι φαίνεται στο process reporting.
- Εισερχόμενο δοκιμαστικό αρχείο. Ζητήστε από τον συνεργάτη να σας στείλει ένα δοκιμαστικό αρχείο. Ελέγξτε ότι αποκρυπτογραφείται, ότι η υπογραφή επαληθεύεται, ότι επιστρέφει MDN και ότι το έγγραφο φτάνει στο process σας.
Τυπικά σφάλματα της πρώτης φοράς και οι συνήθεις αιτίες τους:
| Σύμπτωμα | Συνήθης αιτία |
|---|---|
| Timeout | Firewall, IP allowlist ή λάθος port |
| «Unknown AS2 ID» / απόρριψη | AS2 IDs ανάποδα ή με λάθος (έχουν σημασία τα κεφαλαία) |
| Αποτυχία αποκρυπτογράφησης | Ο συνεργάτης κρυπτογράφησε με λάθος (παλιό) πιστοποιητικό |
| Αποτυχία επαλήθευσης υπογραφής | Λάθος πιστοποιητικό συνεργάτη ή διαφορετικός αλγόριθμος |
| Δεν έρχεται MDN | Μη προσβάσιμο URL για async MDN, ή δεν ζητήθηκε MDN |
Βήμα 6: Σύνδεση με τα πραγματικά έγγραφα
Όταν η σύνδεση δουλεύει, συνδέστε τη με την επιχειρηματική ροή: εισερχόμενες παραγγελίες προς το ERP, όπως περιγράφουμε στο Παραλαβή παραγγελιών μέσω EDI και δημιουργία παραγγελιών πώλησης με το Boomi, και εξερχόμενες απαντήσεις παραγγελιών, δελτία αποστολής και τιμολόγια.
Checklist για παραγωγή
- AS2 IDs, URLs και πιστοποιητικά επιβεβαιωμένα γραπτώς και από τις δύο πλευρές
- Ξεχωριστές συνδέσεις για παραγωγή και test (διαφορετικά URLs και, ιδανικά, διαφορετικά AS2 IDs)
- Εισερχόμενο endpoint περιορισμένο στις IP του συνεργάτη
- Υπογεγραμμένα MDNs που ζητούνται και αποθηκεύονται για non-repudiation
- Ειδοποιήσεις για αποτυχημένες αποστολές και MDNs που λείπουν
- Ημερομηνίες λήξης πιστοποιητικών σε κοινό ημερολόγιο, με υπενθύμιση τουλάχιστον έναν μήνα πριν
- Στοιχεία επικοινωνίας της υποστήριξης EDI του συνεργάτη
- Ένα δοκιμαστικό αρχείο στη σύνδεση παραγωγής πριν από το πρώτο πραγματικό έγγραφο
Ανανέωση πιστοποιητικών χωρίς διακοπή
Τα πιστοποιητικά λήγουν, συνήθως μετά από ένα έως τρία χρόνια, και ένα ληγμένο πιστοποιητικό σταματά αμέσως την κίνηση AS2. Σχεδιάστε την ανανέωση: δημιουργήστε το νέο ζεύγος κλειδιών αρκετά νωρίτερα, στείλτε το νέο δημόσιο πιστοποιητικό στον συνεργάτη, συμφωνήστε ημερομηνία αλλαγής, και αν ο συνεργάτης το υποστηρίζει, δεχτείτε για λίγο και το παλιό και το νέο πιστοποιητικό. Δοκιμάστε με ένα αρχείο αμέσως μετά την αλλαγή.
Σύνοψη
Το AS2 συνδυάζει υπογραφή, κρυπτογράφηση και υπογεγραμμένες αποδείξεις σε έναν τρόπο μεταφοράς που και οι δύο πλευρές μπορούν να εμπιστευτούν και να αποδείξουν. Το μεγαλύτερο μέρος της δουλειάς είναι η ανταλλαγή: σωστά IDs, σωστά πιστοποιητικά και συμφωνημένες ρυθμίσεις MDN. Στο Boomi, αυτές οι ρυθμίσεις βρίσκονται σε certificate και trading partner components, και το runtime λαμβάνει τα μηνύματα. Για το πού στέκεται το AS2 δίπλα στο SFTP, τα VANs και τα πρότυπα EDI, δείτε τον οδηγό μας B2B integration και EDI: τι είναι και πότε το χρειάζεστε.