هذا هو أداة تسجيل QSO ذات القشرة المصورة.
يميز:
يتم توفير التحكم في الوصول بواسطة ملف سياسة .htaccess إلى ملف registra.cgi CGI ، والذي يكتب بالفعل السجلات الجديدة.
أداة سجل ARRL في العالم (LOTW) الأداة المدفعية للتعامل مع جهات الاتصال هي أداة TQSL. على الرغم من أن TQSL مفتوح المصدر ، إلا أنني لم أكن مولعًا تمامًا بفكرة استخدامها للتفاعل مع نظام التسجيل الخاص بي - إنها أداة قوية مع العديد من الوظائف الإضافية الأخرى (التي لم أكن مهتمًا بتسجيلها) وأردت شيئًا رائعًا ومباشرًا - وبالتالي انتقلت إلى تنفيذ TQSL. في تطبيق TQSL الخاص بي ، فإن الهدف الرئيسي هو تسجيل الدخول تلقائيًا إلى جميع جهات الاتصال الخاصة بي في وقت QSO ، دون تثبيت TQSL.
تكمن شهادتك في ملف .tq6 - وهو ملف gzip'ed يحتوي على سلسلة الثقة الشهادة ، من CA إلى شهادتك (في الفقرة <usercert> ) ومخطط TQSL للكيانات ، أوضاع ، إلخ.
[rfreire@rf rpmbuild]$ file lotw.tq6
lotw.tq6: gzip compressed data, from Unix
[rfreire@rf rpmbuild]$ gunzip -S .tq6 lotw.tq6
<?xml version="1.0" encoding="UTF-8" ?>
<tqsldata>
<tqslcerts>
<rootcert>-----BEGIN CERTIFICATE-----
[...]
باستخدام أداة TQSL الخاصة بك ، يمكنك تصدير ملف .p12 الذي يحتوي على مفتاح توقيع. في شهادة Callsign ، استخدم خيار Save the callsign certificate for <YOUR CALLSIGN> .
أولاً ، استخرج شهادة المستخدم الخاصة بك من ملف .p12 ، وهي الشهادة الأولى في السلسلة وحفظها إلى lotw-<callsign>.cer
[rfreire@rf rpmbuild]$ openssl pkcs12 -info -in lotw.p12
Enter Import Password:
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: CC AC 6E 08 94 09 6E 7E B7 5B 2E 90 1A 24 2E CE 10 07 35 5D
friendlyName: TrustedQSL user certificate
subject=/1.3.6.1.4.1.12348.1.1=PY2RAF/CN=Rodrigo A B Freire/[email protected]
issuer=/C=US/ST=CT/L=Newington/O=American Radio Relay League/OU=Logbook of the World/CN=Logbook of the World Production CA/DC=arrl.org/[email protected]
-----BEGIN CERTIFICATE-----
MIIEtTCCA52gAwIBAgIDBw2TMA0GCSqGSIb3DQEBCwUAMIHYMQswCQYDVQQGEwJV
UzELMAkGA1UECAwCQ1QxEjAQBgNVBAcMCU5ld2luZ3RvbjEkMCIGA1UECgwbQW1l
[...]
والآن ، احصل على المفتاح الخاص ليتمكن من توقيع المحتوى باستخدام هذه الشهادة. امنحها كلمة مرور في خطوة Enter PEM pass phrase ، وإلا فإنها ستفشل في الأنين الفشرة حول عدم وجود كلمة مرور. احفظه على أنه lotw-<callsign>.key
[rfreire@rf rpmbuild]$ openssl pkcs12 -in lotw.p12 -nocerts -out lotw-<callsign>.key
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
الآن ، لقد حصلت على كل ما تحتاجه لتوقيع جهات الاتصال.
يحتوي ملف .tq8 فعليًا على جهات الاتصال التي يتم تحميلها على LOTW. إنه ملف مضغوط GZIP ومع بنية مميزة سأشاركها أدناه. لن تدخل في التفاصيل ، لأن التفاصيل موصوفة ذاتيًا إلى حد كبير.
أبرز ما في ملف tq8 هي:
معلومات الاتصال. وهي:
[rfreire@rf rpmbuild]$ file py2raf.tq8
py2raf.tq8: gzip compressed data, was "py2raf", from Unix, last modified: Tue Dec 31 13:27:43 2019
[rfreire@rf rpmbuild]$ gunzip -S .tq8 py2raf.tq8
[rfreire@rf rpmbuild]$ cat py2raf
<TQSL_IDENT:53>TQSL V2.5.1 Lib: V2.5 Config: V11.9 AllowDupes: false
<Rec_Type:5>tCERT
<CERT_UID:1>1
<CERTIFICATE:1638>MIIEtTCCA52gAwIBAgIDBw2TMA0GCSqGSIb3DQEBCwUAMIHYMQswCQYDVQQGEwJV
UzELMAkGA1UECAwCQ1QxEjAQBgNVBAcMCU5ld2luZ3RvbjEkMCIGA1UECgwbQW1l
[...]
zQf9UWPErprv
<eor>
<Rec_Type:8>tSTATION
<STATION_UID:1>1
<CERT_UID:1>1
<CALL:6>PY2RAF
<DXCC:3>108
<GRIDSQUARE:6>GG66gm
<ITUZ:2>15
<CQZ:2>11
<eor>
<Rec_Type:8>tCONTACT
<STATION_UID:1>1
<CALL:5>PY2XX
<BAND:4>70CM
<MODE:3>FAX
<FREQ:7>439.480
<QSO_DATE:10>2019-12-31
<QSO_TIME:9>10:00:00Z
<SIGN_LOTW_V2.0:175:6>cLO9toAVzpzhDjMlMuJHAS7z6Tjpq95U0yvpd2qawz7tIrUG6jXUq9RHy4yuZd2x
kwDIkIyjv6iMevwDfFeETP0XjHQziRiUC1Ol6YnCBl3GWQAX05Y8OxEpUx0fy6Tu
8osQlV7rJ0YtvNmhPc/Fz7w79JdXqM2KVIxyUsy6tzM=
<SIGNDATA:48>11GG66GM1570CMPY2XX439.480FAX2019-12-3110:00:00Z
<eor>
يتم تعريف البيانات المراد توقيعها بالترتيب التالي ، بدون مسافات:
بعد أن قمت ببناء السلسلة لتكون موقعة/توقيعها ، ثم قم بتوقيعها بمفتاحك. انظر العينة أدناه:
$ echo $STRING-TO-BE-SIGNED | openssl dgst -sha1 -sign lotw-py2raf.key -passin 'pass:<password>' | base64
برونتو. لقد قمت الآن بإعداد المحتوى الموقّع والخطوة الأخيرة هي إنشاء الملف الذي يحتوي على جميع الحقول المطلوبة ، وضغطه ، والتحميل على LOTW.
انظر العينة أدناه حليقة
$ curl -F '[email protected]' https://lotw.arrl.org/lotw/upload
الآن يخرج سجل إلى sqlite أيضا. مخطط:
CREATE TABLE contacts (
serial INTEGER PRIMARY KEY,
qrg REAL,
callsign TEXT,
op TEXT,
qtr INTEGER,
mode TEXT,
power INTEGER,
propagation TEXT,
sighis INTEGER,
sigmy INTEGER,
qth TEXT,
obs TEXT );
مخطط QSL:
CREATE TABLE qsl (
callsign TEXT,
method TEXT,
date INTEGER,
via TEXT,
type TEXT,
xo BOOLEAN );
التحذير: يجب أن يكون لدى مستخدم الويب الخاص بك إذن قراءة/كتابة ليس فقط إلى ملف SQLite ، ولكن إلى دليل SQLite الخاص بك أيضًا - وإلا ، فإنه سيؤدي إلى رفض الوصول.
نموذج سجل PY2RAF
PY2RAF QSO قائمة