tls – Where are field names of decoded human readable X.509 certificates specified?

The ASN.1 module for X.509 certificates as specified in RFC 5912 – Section 14 is as follows:

TBSCertificate  ::=  SEQUENCE  {
      version         (0)  Version DEFAULT v1,
      serialNumber         CertificateSerialNumber,
      signature            AlgorithmIdentifier{SIGNATURE-ALGORITHM,
                                {SignatureAlgorithms}},
      issuer               Name,
      validity             Validity,
      subject              Name,
      subjectPublicKeyInfo SubjectPublicKeyInfo,
      ... ,
      ((2:               -- If present, version MUST be v2
      issuerUniqueID  (1)  IMPLICIT UniqueIdentifier OPTIONAL,
      subjectUniqueID (2)  IMPLICIT UniqueIdentifier OPTIONAL
      )),
      ((3:               -- If present, version MUST be v3 --
      extensions      (3)  Extensions{{CertExtensions}} OPTIONAL
      )), ... }

The field names are the same in RFC 5280.

The decoded example certificate on the X.509 Wikipedia page however has completely different field names:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            10:e6:fc:62:b7:41:8a:d5:00:5e:45:b6
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2
        Validity
            Not Before: Nov 21 08:00:00 2016 GMT
            Not After : Nov 22 07:59:59 2017 GMT
        Subject: C=US, ST=California, L=San Francisco, O=Wikimedia Foundation, Inc., CN=*.wikipedia.org
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
            pub: 
                    00:c9:22:69:31:8a:d6:6c:ea:da:c3:7f:2c:ac:a5:
                    af:c0:02:ea:81:cb:65:b9:fd:0c:6d:46:5b:c9:1e:
                    9d:3b:ef
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Agreement

        ...

Signature Algorithm instead of algorithm, X509v3 extensions instead of just extensions.

Since the certificate has version 3, i would assume it doesn’t have anything to do with the version…

Of course i searched for various field names like X509v3 Key Usage or X509v3 CRL Distribution Points but couldn’t find any reference.

So where are the field names of the decoded human readable X.509 certificate specified or mapped?

itunes – Edit album names on ipod touch

I manually manage music on an ipod touch. There is a playlist in the itunes library on my computer, and I would like to copy the files from the playlist to the ipod and remove their album names on the ipod only (I want to keep the album names on my computer). The purpose is to prevent these albums from showing up in the list of albums on the ipod. Is there a way to do this? Once the files are copied, itunes does not let me edit album information (the “Info…” menu option is greyed out when I select a song on the ipod). I know I could remove the album names on the computer, transfer the files, add the albums back, but this will a ton of extra work because there are hundreds of songs in the playlist and I would have to change each one manually.

Suspicious termination in some Windows Services names

Introduction

I’ve been poking around the Services tab on my Windows machine and saw some services with a “normal” name but this termination _1f699ad as in the next examples:

  • ConsentUX_1f699ad
  • CredentialEnrollmentManagerUserSvc_1f699ad
  • DevicePicker_1f699ad
  • and many more with the same termination

Here some pictures taken from the services tab.

enter image description here
enter image description here
enter image description here

My question is simple: Is this OK or should I be worried?

Because some of them have access to ScreenCapture and others which can potentially be harmful (i.e data theft) and I see no reason to add a meaningless termination other than supersede and stay hidden.

python – Creating names from URLs

I am creating a NAME column in a DataFrame and set its value based on substrings contained in another column.

Is there a more efficient way to do this?

import pandas as pd
df = pd.DataFrame((('www.pandas.org','low'), ('www.python.org','high')),
     columns=('URL','speed'))
print(df.head())


df('Name') = df('URL')  #is this an intellingent thing to do?
print(df.head())

#set Name based on substring in URL
df.loc(df('Name').str.contains("pandas", na=False), 'Name') = "PANDAS"
df.loc(df('Name').str.contains("python|pitone", na=False), 'Name') = "PYTHON"
print(df.head())

api design – Are there names for APIs that don’t relate to user data versus APIs that do?

Does anyone know of terms for APIs protected by API keys that don’t relate to user data (e.g. weather, voice to text) versus APIs that are protected by OAuth (or similar) and relate to user data (e.g. GitHub, Slack)?

I realized these seem to be fundamentally different kinds of APIs with different needs in terms of authorization and rate limiting, but I haven’t been able to find any writings that recognize this, provide more insight into their differences, or even name them. Any thoughts?